Windows 7. 64位。 CMake 2.8.10。
步骤:
cd C:\work\lib\boost_1_51_0-MT bootstrap.bat bjam --toolset=msvc-10.0 --variant=release --build-type=complete -j 4 --with-regex --with-test --with-filesystem --with-date_time --with-random --with-system --with-thread --with-program_options --with-chrono --with-math stage link=static threading=multi runtime-link=static
set BOOST_ROOT=C:\work\lib\boost_1_51_0-MT cmake M:\project Unable to find the requested Boost libraries. Boost version: 1.51.0 Boost include path: C:/work/lib/boost_1_51_0-MT The following Boost libraries could not be found: boost_system boost_thread boost_random boost_chrono No Boost libraries were found. You may need to set BOOST_LIBRARYDIR to the directory containing Boost libraries or BOOST_ROOT to the location of Boost.
M:\ project \ CMakeLists.txt包含:(我需要静态链接提升)
... set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS ON) set(USE_STATIC_BOOST ON) add_definitions(-DBOOST_THREAD_USE_LIB) add_definitions(-DBOOST_ALL_NO_LIB) find_package(Boost 1.48.0 COMPONENTS system thread random chrono REQUIRED) ...
这个CMakeLists.txt已经过时了,可用于其他升级安装(由我完成而不是我过去,但接收失败了。)
解决
set(Boost_USE_STATIC_LIBS ON)
...现在CMake找到了升级库!虽然我的“set(USE_STATIC_BOOST ON)”必须具有相同的效果,但它不会...
答案 0 :(得分:2)
<强>解决强>
set(Boost_USE_STATIC_LIBS ON)
...现在CMake找到了升级库!虽然我的CMakeLists.txt有set(USE_STATIC_BOOST ON)
,但必须具有相同的效果,但它不会...
要使用set(Boost_USE_STATIC_LIBS OFF)
,您需要添加:
if( WIN32 )
# Needed for boost to turn off autolinking for dynamic linking
add_definitions( -DBOOST_ALL_NO_LIB )
endif()
详情请见: Linking boost library with Boost_USE_STATIC_LIB OFF on Windows