![](/img/trans.png)
[英]CMake 3.11 on Linux Mint 19 is unable to find static Boost libraries
[英]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.