开发平台vs2005 如何将在 "将wchar_t视为内置类型:是"编译的DLL移植到"将wchar_t视为内置类型:否(/Zc:wchar_t-)"应用程序中
如题:
开发环境VS2005 智能设备
在 “属性-》C\C++->语言-》将wchar_t视为内置类型:是” 情况下编译的DLL移植到“属性-》C\C++->语言-》将wchar_t视为内置类型:否(/Zc:wchar_t-)”的应用程序后,在编译时没有错误,在连接后出项了无法解析的符号?
这个问题该怎么解决呢?
[解决办法]
同意楼上的建议。
[解决办法]
编译DLL中时采用的“否”,如果不使用“否”的话在编译不过去出现错误
重点在这句话,我的几个为wince编写的dll,全部采用的“将wchar_t视为内置类型”为是。
并不会出现编译错误。
你的DLL是智能设备DLL吧?那你在DLL中要使用Unicode字符集相关的函数。
比如
char -> TCHAR
strcpy -> _tcscpy
函数和类型等等要用Unicode版本,就不会编译出错了。
wince只支持Unicode字符集。也就是使用宽字符的wchar_t。
否则这个DLL,你的应用应该是没办法用了。