从官方网站上下的代码和DEMO,结果很多DEMO执行出错,全都是error LNK2001: unresolved external symbol错误。
自己不论是按官方网站上的提示一步步操作还是按其他文章上的提示做,结果都是一样:
MDlg.obj : error LNK2001: unresolved external symbol "public: bool __thiscall CxImage::Save(char const *,unsigned long)" (?Save@CxImage@@QAE_NPBDK@Z)
MDlg.obj : error LNK2001: unresolved external symbol "public: bool __thiscall CxImage::Load(char const *,unsigned long)" (?Load@CxImage@@QAE_NPBDK@Z)
几乎都试遍了,最终必定有这两个错,在“设置”->link里添加LIB库一样,头文件前面#pragma comment也是一样。(LIB文件全是从官方下载的代码输出目录中拷贝过来的)

解决方案 »

  1.   

    不难用.
    MFC的话不要静态连接MFC库要不就是要静态连接MFC库,记不清楚了或者你干脆用cximage.dll就行了
      

  2.   

    http://www.xdp.it/download.htm
    从作者的主页下载吧,我以前下载过,可以直接编译的,有个demo可以直接用
      

  3.   

    你都加那些lib了?这个我也用过好一阵,用的挺好的
      

  4.   

    还有一点也觉得不对,cximage工程里我查找了ximage.h,发现里面有这两个函数的声明,但ximage.cpp里却没有这两个函数的实现,编译出来的lib库里更不可能有这两个函数了,但确实是在官方网站上下载的,哪里有问题?
      

  5.   

    官方的lib文件默认使用UNICODE编码的源码:
    xImaEnc.cpp
    bool CxImage::Save(const TCHAR * filename, DWORD imagetype)
    实际上就是
    bool CxImage::Save(const wchar_t * filename, DWORD imagetype)
    楼主的工程是MBCS的吧
    那么这个函数就申明为
    bool CxImage::Save(const char * filename, DWORD imagetype)
    自然就找不到了两个方法:
    1、将你的工程改为UNICODE编码
    2、将CxImage的lib改为用MBCS重新编译
      

  6.   

    这个,我按LS的第二种办法干了一遍,估摸着这次应该没问题了吧,结果出来一堆类似
     error LNK2001: unresolved external symbol _mng_setcb_refresh
    错误
    说明函数还是没被实现,是不是只能把工程改成UNICODE编码类型?
      

  7.   

    改了半天,越改越扯淡了
    项目改成UNICODE是不可能地,太多代码需要重写,犯不着为了一个小小的功能而重新来过吧.
    CxImage改成_MBCS重新编译LIB,拿过来还是一堆错
    说到底,我不过是想把JPG类型的流数据存储为BMP格式的文件,弄了这么长时间什么也干不成,至于吗?
    这年头,网上什么都要钱,稍微弄个不要钱的,麻烦得要死,为了一个小小的功能,预编译指令、头文件等各种各样的参数要设置半天,内存空间等开销增长了几倍,然后这里调试那里编译半天,还是P都得不到一个。
      

  8.   

    ...
    CImage不能满足LZ的要求吗
      

  9.   

    现在一般都用unicode编码。我以前也是vc 6.0 不过把 .net中的cimage相关的东西拷贝过来就可以用了。
     最好把原始版本的.h库和.lib库都备分好。要不以后换做其它就麻烦了,用了.net中的东西会把编译环境改变太多。
      

  10.   

    我也是用VC6的,但是编译都是可以的,不管用 unicode 还是 ansi的都可以,而且static 和dll的也都可以啊,不过编译时间确实比较长。。
      

  11.   

    我编译通过过了, 楼主要是要的话 我可以给你发一份 msn [email protected] 
    主要是里面的静态库和动态库加载有点麻烦 还要设置里面的一些参数 我用的是静态库 直接生成.lib 
      

  12.   

    vc6支持gdi+的,可以自己加入gdi+的库。网上有人做好的版本,集成sp6和gdi+的:http://download255.mediafire.com/loljmombrmjg/zlnecmbmzvm/Visual+C%2B%2B+6.0%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87%E5%8A%A0%E5%BC%BA%E7%89%88.rar
      

  13.   

    我遇到的问题一样PerfectEditorDoc.obj : error LNK2001: unresolved external symbol "public: bool __thiscall CxImage::Save(unsigned short const *,unsigned long)" (?Save@CxImage@@QAE_NPBGK@Z)
    Debug/PerfectEditor.exe : fatal error LNK1120: 1 unresolved externals设置都没问题,用的是UNICODE,环境是vc++ 6.0
    不知是什么问题,找了好久都没解决...
      

  14.   

    使用CXIMAGE很久了,在6,03,05上都用过,没有什么问题,出问题的多半是工程设置的问题,你严格按照作者的说明来
      

  15.   

    肯定是设置问题,在vc6.0和vs 2005上都使用过,实在嫌麻烦楼主可以试一下opencv,这个配置相对简单一些。
      

  16.   

    估计是工程设置的问题。注意一下那个 ximacfg.h 的头文件
      

  17.   


    极力向楼主推荐这个网站,我看这个帖子之前也不会用CXImage类库,看了这个链接侯下载了里面的第二个cximage600_lite  259kb,看了一个例子真的很精炼,终于可以用CXImage类了!!附加:配置头文件:
    向External Dependencies目录里添加文件的方法
    Project->Setting->C/c++   
      选择Catalog为Preprocessor,在Additional Include Directory里面加入刚才建的目录名   
      即additional就可以了,这样在该目录下的文件,然后你在工程中编译程序,改头文件就会出现在External Dependencies目录里面。记得要在工程的文件中包含所加目录中含有的头文件才会在编译时自动出现在External Dependencies目录下。配置lib库:
    Project->Setting->link选项卡:
    在“对象/库模块”下添加
    ../cximage/Debug/cximage.lib (这是我的目录)。如还有不了解,找我skyair624
      

  18.   

    http://blog.csdn.net/skyair624/archive/2008/10/01/3008014.aspx
      

  19.   

    mb,我也碰到类似的情况,烦的一b,最后对比例子工程发现改了下  工程->属性->字符集,改为->使用多字节字符集
    就好了,真他nnd
      

  20.   

    已经可以运行。。求解怎么写FFT的响应函数void CTestView::OnFft() 
    {
    // TODO: Add your command handler code here
        }