VS2013 LNK1104要求不同版本的外部lib(boost)
VS2013 LNK1104 asking for different version of external lib (boost)
我有一个包含4个项目的VS2013解决方案。我的启动项目(A)依赖于其他3个项目(B、C和D)。所有3个项目都完美编译,没有链接错误。
我的启动项目要求libboost_filesystem-vc120-mt-gd-1_55.lib
,但当查看所有项目的项目属性时,没有库依赖项,甚至在#pragma comment(lib)
的源文件中也没有。此外,唯一使用boost/filesystem.hpp
的项目是B,它的编译没有错误。
注意,我在C:Program Files (x86)Boostlib32-msvc-12.0
下有所有的boost库,我使用的是boost 1.56。
我的问题是:
- 当B是唯一使用boost文件系统的项目时,为什么A要求boost lib
- 当我有1.56的增益时,为什么A要求1.55的增益
- 如果B是唯一一个使用
boost::filesystem
的项目,并且它编译得很好,为什么我会收到这个链接器错误 - 为什么该依赖项在项目属性或源代码中没有显式的lib依赖项
我还查看了文件系统includes下的所有头文件,没有发现#pragma comment(lib)
首先,我建议从头开始重建所有项目。
接下来尝试编译器选项/showIncludes
。它将为您提供包含完整路径的文件树。
相关文章:
- 在函数内部的声明中初始化数组,并在外部使用它
- 如何指定我希望我的LIB链接到的DLL文件?-Visual Studio 2019
- 使外部项目可用于find_package CMake
- JSON转换为nlohmann JSON-lib中的结构数组
- C++:Application.cpp中抛出了未解析的外部符号(解决方案在问题的末尾,供未来的读者参考)
- 为什么导入Mixed native/CLR lib.dll的本机C++应用程序没有在Mixed lib.dll中的外部变
- 当 lib 已添加到其他依赖项时,如何在 VS 中调试未解析的外部符号错误
- 即使使用lib文件也无法修复未解析的外部符号_AES_encrypt
- 当您的外部SDK仅具有.dll,.lib,.h文件时,如何链接和构建项目
- 未解决的外部符号,带有静态lib,它使用了另一个静态lib
- 将 DLL 链接到 LIB 的未解决的外部符号错误
- C++如何判断static.lib是否有效,是否可从外部代码调用
- MSVCRTD.lib(crtexew.obj):错误LNK2019:未解析的外部符号_WinMain@16在函数___
- 链接到glew32s.lib的未解析外部符号
- 尝试使用 .lib/.dll 时未解析的外部
- curllib_static.lib错误LNK2019:未解决的外部符号错误
- VS2013 LNK1104要求不同版本的外部lib(boost)
- LIBCMT.lib:错误LNK2001:未解析的外部符号_main
- 使用外部库(libchive)在Qt -没有.lib文件
- 在.lib项目中包含外部依赖项