今天终于空出时间看VC++了,之前在学校学习过C,程序员考试时也是用C,但是个人感觉C++和C还是差别挺大的,抽了两天时间看了看语法,就那起之前买的《游戏编程入门》看,书有附带代码,就省了自己敲了。但是问题来了,安装了VC++ 6.0后,编译通过,运行就是有问题。没有用过Microsoft Visual C++ 6.0,刚学习用还是很不习惯的。只能通过搜索,一个个解决,现在做个备忘整理(大部分来自网络):
错误:
LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16
说明:
类似这样的错误是程序编译连接问题,默认打开一个.CPP文件,上以控制台的方式编译的。
解决方法:
[Project] --> [Settings] --> 选择"Link"属性页,
在Project Options中将/subsystem:console改成/subsystem:windows
[Project] --> [Settings] --> 选择"C/C++"属性页,
预处理中的_CONSOLE改为_WINDOWS
错误:
error LNK2001: unresolved external symbol "public:...
说明:
类似这样的错误,是找不到包含的编译文件,我就直接把光盘中的代码用VC++打开,编译的是一个文件,就出错了。
解决方法:
在运行出错后,文件夹中会出现一个.dsw的文件,是一个工作站文件,打开它,在左边的文件浏览视图中,选择"FileView"选项,在工作站的files上右击,选择"Add Files to Project...",把相关的文件都加进来,再编译就没有问题了。
错误:
error LNK2001: unresolved external symbol __imp__TransparentBlt@44
说明:
这个是没有引用系统的一个库文件引起的错误。
解决方法:
[Project] --> [Settings] --> 选择"Link"属性页,
在库模块后面添加一个msimg32.lib ,使用空白隔开就可以了,重新编译下。