【发布时间】:2015-04-22 23:46:44
【问题描述】:
我一直在使用 C++ 开发一个库,并且在尝试将 boost 集成到我的项目中时遇到了一些困难。我保留了找不到 boost 的消息,但另一方面,我使用 Arch 的开发人员没有问题。
我们发现这是因为 Linux Mint(至少使用 libboost-all-dev 软件包)将库安装到 FindBoost 模块未搜索到的 /usr/lib/x86_64-linux-gnu 中。我们通过创建符号链接解决了这个问题:
ln -s /usr/lib/x86_64-linux-gnu/libboost* /usr/lib/
我想知道的是:有没有更好(更容易接受)的方法来解决这个问题,因为当我编译主要项目时,我没有遇到这个问题。
这里是 CMakeLists.txt(有一些遗漏)
cmake_minimum_required(VERSION 2.8)
project(testlibrary CXX)
set(CMAKE_CXX_FLAGS "-std=c++0x ${CMAKE_CXX_FLAGS}")
set(Boost_USE_STATIC_LIBS ON)
set(Boost_USE_MULTITHREADED OFF)
set(Boost_USE_STATIC_RUNTIME OFF)
find_package(Boost 1.55.0 COMPONENTS unit_test_framework thread log REQUIRED)
include_directories(${Boost_INCLUDE_DIRS})
add_library(testlibrary STATIC ${SOURCE_MAIN})
target_link_libraries(testlibrary ${Boost_LIBRARIES})
【问题讨论】:
-
您使用的是哪个特定版本的 CMake?
标签: c++ linux boost compilation cmake