我有带有 C++ 项目的旧版 MSVS 解决方案。当我从版本控制系统中获取它并第一次尝试构建它时(当它干净时) - 我收到错误:找不到 LNK 1104 库。
当我第二次尝试构建它时 - 一切都构建好了。
项目“A”(C++)依赖于项目“B”(也是 C++)的库(lib 文件)。
“A”在它的一个 cpp 文件中有类似的代码(可能 stdafx.h 是#pragma 注释的更好位置?):
#pragma comment(lib, "B.lib")
这会导致第一个构建的链接器错误
我调查了第一个构建结果:“B”项目编译成功,“lib”文件生成,“A”项目(取决于“B”)是解决方案项目构建顺序中的最后一个项目。
我想知道为什么“A”第一次没有看到“B”库,因为“B”应该比“A”更早构建。当我第二次构建相同的解决方案时 - 没有链接器错误。