簡體   English   中英

在Linux Mint上無法通過CMake找到提升

[英]Cannot find boost with CMake on Linux Mint

我一直在使用C ++開發庫,嘗試將boost集成到我的項目時遇到了一些困難。 我保留了無法找到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})

您可以設置提示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將在通常的位置查找您的增強庫。

請在此處查看FindBoost.cmake於您的CMake版本的FindBoost.cmake文檔。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM