正在学习《C++游戏设计案例教程》,里面的源代码用到了CxImage类库,在VC6.0里可以正常编译执行,用VS2008打开后就出错了,错误信息如下:
错误 44 error LNK2019: 无法解析的外部符号 __imp___CrtDbgReportW,该符号在函数 "public: class Sprite * const & __thiscall std::_Vector_const_iterator<class Sprite *,class std::allocator<class Sprite *> >::operator*(void)const " (??D?$_Vector_const_iterator@PAVSprite@@V?$allocator@PAVSprite@@@std@@@std@@QBEABQAVSprite@@XZ) 中被引用 SpriteManage.obj
错误 45 fatal error LNK1120: 1 个无法解析的外部命令 .\Debug/FightPlane.exe用了网上VS2008下使用CxImage的方法,没有用,还是这俩错误,求高手指点

解决方案 »

  1.   

    连接选项 选多线程 Multithreaded 选项 试试看
      

  2.   

     __imp___CrtDbgReportW字符集改为多字节
      

  3.   

    已经设置为 “使用多字节字符集”
    “在共享 DLL 中使用 MFC”
    还是这样
      

  4.   

    看过这个了?
    http://blog.csdn.net/archerluke/article/details/6422255
      

  5.   

    这个不知道在哪设啊。
    另外,刚才在Win32控制台app中测试CxImage类可用,于是想新建一个win32项目测试一下,可是在win32项目中,一选择“在共享 DLL 中使用 MFC”就冒出了14个错误,win32项目中不能“在共享 DLL 中使用 MFC”吗?
      

  6.   

    2楼说的在项目属性中设置
    而且他已经说明了是链接选项中win32程序可以使用MFC
    静态、动态皆可
      

  7.   

    谢谢大家,问题解决了,新建一个win32项目,把原代码作为现有项添加进去,加上#include "stdafx.h",就OK啦,也不用设置神马“在共享 DLL 中使用 MFC”。
    今天CSDN好像解不了贴,明天结贴吧。
    实在是感谢各位呀
      

  8.   

    vs2008直接用CImage,是处理图像的很好东西