编译链接过程的错误总结:
- 包含外部的相关库:当链接出现无法解析的符号时,需要考虑是否引入了相关的外部库;当依赖于外部库时,需要设置项目的属性:
1)VS–项目-》属性-》C++目录-》包含目录-》添加依赖库的头文件目录;
2)-》库目录-》添加依赖库的lib目录;
3)然后需要将相关的dll文件添加到system32目录下,以便项目自行搜索运行时的动态库;
具体的符号解析错误,及缺少的库文件,可以根据链接的Log进行排查,按照以上步骤。 - 在源文件中可以指定链接指令,如#pragma comment(lib, “glew32.lib”) 该指令会指导连接器在链接时主动加载glew32.lib库文件。
- 编译出现_WinMain@等符号无法解析的问题,可能是因为项目的属性设置有问题,Console项目的主入口是main()函数,而Win32项目的主入口是WinMain()函数;需要在项目属性中根据具体情况更改属性:
1)VS–项目-》属性-》C/C++-》预处理器中修改_WINDOWS(窗口程序)或_CONSOLE(控制台程序)
2)VS–项目-》属性-》链接器-》系统-》子系统中修改SUBSYSTEM:_WINDOWS(窗口程序)或SUBSYSTEM:_CONSOLE(控制台程序)