如何指定要链接到哪个版本的提升库
How do I specify, which version of boost library to link to?
我正在尝试将用VS2012编写的项目迁移到VS2013。
我成功编译了 boost 1.53.0(我第一次尝试 1.54.0,但遇到了一些编译器错误)并获得了类似的库 libboost_filesystem-vc120-mt-1_53.lib
.
但是在尝试构建我的项目时,链接器抱怨:
error LNK1104: cannot open file 'libboost_filesystem-vc110-mt-1_53.lib'
我一直在我整个解决方案中寻找一些项目设置,以找出为什么它试图加载较旧的库版本,但我没有找到任何东西。
链接器如何知道要使用哪个库?我该如何解决我的问题?
我在 TheArtTrooper 对这个线程的回答中找到了我的问题的答案和我问题的解决方案:
如何使用新的 Visual Studio 2013 预览版构建 boost?
链接器知道要使用哪个库,因为它是在 boost/config/auto_link.hpp 中指定的。
此文件缺少几行代码来处理 vc120 版本:
# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1800)
// vc11:
# define BOOST_LIB_TOOLSET "vc110"
# elif defined(BOOST_MSVC)
// vc12:
# define BOOST_LIB_TOOLSET "vc120"
现在它可以很好地编译和链接!
相关文章:
- C++,系统无法执行指定的程序
- 将值指定给向量(2D)的向量中的某个位置
- 为cl.exe(Visual Studio代码)指定命令行C++版本
- 如何在OMNET++中指定与命令行参数组合的输出文件名
- 在派生函数中指定void*参数
- 导入库可以跨dll版本工作吗
- 函数何时会在c++中包含stack_Unwind_Resume调用
- 在循环C++中指定字符串之后,不会打印该字符串
- 在调用FreeLibrary后,释放动态链接到具有相同版本的CRT堆的DLL的内存
- 指定 go build 的 C++ 版本
- 在Travis中为CMAKE构建指定编译器版本
- 如何切换到指定版本
- 为Bazel指定MSVC版本
- 配置脚本名称中具有指定版本的find_package
- 使用 SDL2 指定 OpenGL 版本
- 如何指定要链接到哪个版本的提升库
- C++调用时指定函数的非模板化版本
- 如何在VIM中指定Python解释器版本
- 选择要在函数中作用的数组,而不必为每个数组的副本指定函数的版本
- 指定O2标志时,gcc链接到错误的GLIBCXX版本