如何确定升压路径的静态LIB路径

How to determine static lib path for boost?

本文关键字:路径 LIB 静态 何确定      更新时间:2023-10-16

我将其用于与libboost-System和libboost-filesystem进行静态编译:

add_library(boost_system STATIC IMPORTED)
SET_TARGET_PROPERTIES(boost_system PROPERTIES IMPORTED_LOCATION /usr/lib/libboost_system.a)
add_library(boost_filesystem STATIC IMPORTED)
SET_TARGET_PROPERTIES(boost_filesystem PROPERTIES IMPORTED_LOCATION /usr/lib/libboost_filesystem.a)
target_link_libraries(mysuperprogram ${LIBS} boost_system boost_filesystem)

问题是在我的开发机(Linux Mint 17.1)上安装了/usr/lib/x86_64-linux-gnu中的libboost_*.a文件,但在构建机器(Ubuntu 12.04.5 x64)上,我需要简单地将其编译以用于生产库中的/usr/lib中。

如何确定lib路径并在cmakelists.txt中使用它?可能有任何系统变量或类似的变量?

您可以使用cmake的find_package功能。将以下行添加到您的cmakelists.txt:

set(Boost_USE_STATIC_LIBS ON) 
find_package(Boost COMPONENTS boost_system REQUIRED)
link_libraries(${Boost_LIBRARIES})

请参阅:http://www.cmake.org/cmake/help/v3.0/module/findboost.html