我一直在使用C ++编写一个库,并且尝试将boost集成到我的项目中遇到了一些困难。我保留了无法找到提升的信息,但另一方面,使用Arch的开发人员没有任何问题。
我们发现这是因为Linux Mint(至少使用libboost-all-dev软件包)将库安装到/ usr / lib / x86_64-linux-gnu,FindBoost模块不会搜索这些库。我们通过创建符号链接来修复此问题:
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})