关于非UNICODE转UNICDOE时出的LINK有关问题,在LINK时出错了

关于非UNICODE转UNICDOE时出的LINK问题,,??????????在LINK时出错了
我的一个程序在用非UNICODE的时候编译连接时没有错...
但是在用UNICODE的时候(加_UNICODE 和 UNICODE 定义,同时加入口函数wWinMainCRTStartup)
这时会出现这几个错误...
请赐教...(用的环境是VC++6.0, XP下...)
Linking...
InfoDVR.obj : error LNK2001: unresolved external symbol "public: long __thiscall CxImage::DrawString(struct HDC__ *,long,long,unsigned short const *,struct tagRGBQUAD,unsigned short const *,long,long,unsigned char,unsigned char,bool)" (?DrawString@C
xImage@@QAEJPAUHDC__@@JJPBGUtagRGBQUAD@@1JJEE_N@Z)
OneCamera.obj : error LNK2001: unresolved external symbol "public: long __thiscall CxImage::DrawString(struct HDC__ *,long,long,unsigned short const *,struct tagRGBQUAD,unsigned short const *,long,long,unsigned char,unsigned char,bool)" (?DrawString
@CxImage@@QAEJPAUHDC__@@JJPBGUtagRGBQUAD@@1JJEE_N@Z)
OneCamera.obj : error LNK2001: unresolved external symbol "public: bool __thiscall CxImage::Save(unsigned short const *,unsigned long)" (?Save@CxImage@@QAE_NPBGK@Z)
Release/NetViewer2.exe : fatal error LNK1120: 2 unresolved externals
Error executing link.exe.
Creating browse info file...



------解决方案--------------------
是不是在h文件中用char定义,而cpp中用TCHAR来实现的。
把工程rebuild一下。
------解决方案--------------------
有些函数就只提供一种实现方式,也就是说:只提供非UNICODE,而没有提供 UNICODE形式
------解决方案--------------------
CxImage没link进来。。
------解决方案--------------------
Google error LNK2001
------解决方案--------------------
很明显,你的你上面的几个库函数都要求接受unsigned char const* 类型的参数, 而你传入了unsigned short const *类型的参数,系统找不到接收这种参数的库函数,所以说unsolved symbols. 你肯定在调用的时候使用了例如:
CxImage *p=new CxImage;
TCHAR *pFirstParam=...
p->Save(pFirstParam,...)
这是不对的,因为TCHAR在定义了_UNICODE/UNOCODE时会被编译为short. 所以你需要把pFirstParam的类型修改为char*,当然里面的内容也需要从UNICODE改变为ASCII,这可以通过MultiByteToWideChar这样的函数来实现.
------解决方案--------------------
把工程设置为"多字符集" 可以的吗?