【问题标题】:How to determine static lib path for boost?如何确定 boost 的静态库路径?
【发布时间】:2015-05-11 12:27:33
【问题描述】:

我将它用于 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) libboost_*.a 上安装在 /usr/lib/x86_64-linux-gnu 中的文件,但在构建机器 (Ubuntu 12.04.5 x64) 上,我需要为生产库编译它只是安装在 @ 987654324@.

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

【问题讨论】:

    标签: c++ linux boost cmake


    【解决方案1】:

    您可以使用 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

    【讨论】:

    • 谢谢。但是如何做到这一点,例如libmysqlclient
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-21
    • 1970-01-01
    • 2019-07-02
    • 1970-01-01
    • 1970-01-01
    • 2011-07-04
    • 1970-01-01
    相关资源
    最近更新 更多