标签:原因 使用 linker dll tchar api 百度一下 class 原则
使用VS2010 编译从vc6.0复制过来的原project文件源代码。提示错误非常多。感觉无从下手。非常多原始的函数和API參数都提示类型
错误或者不兼容。
百度一下。第一个问题:
vc6.0使用ASIIC字符。而VS2010默认选项使用unicode. 在project上面右键属性,把默认字符集改动为
"No Set",例如以下图所看到的
又一次编译整个解决方式,非常多原先类型不匹配的错误消失。如:char*和char数组无法转换。
TCHAR 和 LPCWSTR 无法转换等。
第二个问题,一个解决方式里面,建立了多个project。一直提示无法找到外部符号LNK2019错误。
百度非常多,都是说头文件未定义等等。
事实上。应该
把握一个原则:那就是,多个project,仅仅有一个是主project,将来会编译成exe文件。其它project都是辅助的。仅仅能编译为.lib或者dll。
然后在连接的时候包括
进来。我的低级错误时,多个project文件,上图的Configuration Type 都是Application(.exe). LNK2019错误的原因里面:一部分是辅助的project文件找不到
main(console)或winmain(windows),主project文件中面找不到连接的其它project文件函数。把辅助project文件的 Configuration Type 改动为.lib或dll 就能够了。
再把linker 选项设置一下就能够了。
标签:原因 使用 linker dll tchar api 百度一下 class 原则
原文地址:http://www.cnblogs.com/mfmdaoyou/p/6754180.html