我在VS2008解决方案中添加了一个项目,并通过“项目设置”窗口在启动项目中为该新添加的项目设置了依赖项。问题是我到处都有unresolved external symbol
错误,但是一旦我使用库的功能在文件内写了#pragma comment (lib, "path_to/my_lib.lib")
行,一切就很好了。具体来说,我在包含之后立即添加了该行
#include "path_to/my_lib.h"
#pragma comment (lib, "path_to/my_lib.lib")
我读到要在项目设置窗口中设置依赖项,写行#pragma comment (lib, "path_to/my_lib.lib")
是同一回事。为什么我没有所有未解决的外部符号错误,而没有在代码中写出该特定行?是因为它正在VS2008选项的VC ++目录中给定的另一个文件夹中寻找这种依赖关系吗?
答案 0 :(得分:2)
我不确定我是否理解你的问题。
“ ...是同一件事...” 不,不是同一件事。
项目依赖项 如果所选项目P0依赖于项目DLL1,但不依赖于项目DLL3,则IDE将在P0之前更新(构建)DLL1。参见下面的第一张图片。
链接器依赖项(链接到库) 使用#pragam comment(lib...
或转到项目的设置以选择库。这些库不一定属于您的解决方案。参见下面的第二张图片。
例如,错误的项目依赖项可能会产生链接错误: