找不到Linux Mint的通过CMake升压(Cannot find boost with CMa

2019-10-22 18:20发布

我一直在C ++库,并遇到了一点困难,努力提高融入我的项目。 我留了助推无法找到的消息,但在另一方面,我的同事开发利用拱桥没有遇到任何问题。

我们想通了,这是因为Linux Mint的(至少与libboost-ALL-dev软件包)安装库/ usr / lib中未由FindBoost模块搜索/ 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})

Answer 1:

您可以设置提示BOOST_LIBRARYDIR

set(BOOST_LIBRARYDIR "/usr/lib/x86_64-linux-gnu")
find_package(Boost 1.55.0 COMPONENTS unit_test_framework thread log REQUIRED)

此外,也可以像这样运行时的CMake设置此:

cmake -DBOOST_LIBRARYDIR="/usr/lib/x86_64-linux-gnu" <project_root>

如果你只是运行:

cmake <project_root>

然后FindBoost.cmake会看在你的提振libaries通常斑点。

见的文档FindBoost.cmake您的CMake版本在这里 。



文章来源: Cannot find boost with CMake on Linux Mint