将boost作为静态lib添加到cmake中的项目中

时间:2018-05-21 12:25:06

标签: boost cmake static-libraries static-linking

我需要将boost库作为链接库链接到我的项目... 构建系统是cmake v 我这样做了:

set(Boost_USE_STATIC_LIBS ON)
set(Boost_USE_MULTITHREADED ON)
set(Boost_USE_STATIC_RUNTIME ON) 

include_directories(${Boost_INCLUDE_DIR})
link_directories(${Boost_LIBRARY_DIRS})

target_link_libraries(
    boost_system
    boost_regex
)

构建项目是成功构建的,但是ldd打印,我的二进制文件需要libboost_system.so.1.62.0,libboost_regex.so.1.62.0(例如)...

libboost_system.so.1.62.0 => not found,
libboost_regex.so.1.62.0 => not found

出了什么问题?如果我们静态链接,为什么需要这些库?(对不起我的英语)

1 个答案:

答案 0 :(得分:0)

我只是添加

target_link_libraries(
    libboost_system.a
    libboost_regex.a
)

这已经足够了