【发布时间】:2014-09-30 23:55:18
【问题描述】:
我正在将我的代码迁移到 Visual Studio 2013 专业版(从 2005 年开始)。为此,我安装了 cmake 3.0.2(之前的 2.8 版本)并编译了 boost 1.56.0(之前的版本 1.47.0)。
CmakeList.txt 查找 boost 是:
# find the boost installed path from environment variable
set(BOOST_ROOT_DIR "$ENV{BOOST_ROOT_DIR}")
if(BOOST_ROOT_DIR)
message( "Boost found at ${BOOST_ROOT_DIR}")
else(BOOST_ROOT_DIR)
set(BOOST_ROOT_DIR "$ENV{BOOST_ROOT}")
if(BOOST_ROOT_DIR)
else(BOOST_ROOT_DIR)
message( FATAL_ERROR "BOOST is not installed")
endif()
endif(BOOST_ROOT_DIR)
include_directories("${BOOST_ROOT_DIR}")
这里,环境变量 BOOST_ROOT_DIR 设置为我的 boost 安装路径。
现在,当我构建我的项目时,它给了我如下链接错误:
LINK : fatal error LNK1104: cannot open file 'libboost_thread-vc120-mt-s-1_55.lib'
我看到的问题是,我已经编译了 boost 1.56.0,但它正在尝试与 1.55.0 版本库链接。
我无法理解为什么会这样。
请帮忙。
编辑:我已经使用命令编译了我的 boost:
bjam --toolset=msvc-12.0 variant=debug,release link=static runtime-link=static address-model=64
【问题讨论】:
标签: boost visual-studio-2013 cmake