使用CMake链接Boost库的静态版本

问题描述:

我已经在/ usr/lib中获得了静态和动态版本的boost库。现在我想让CMake在我的可执行文件链接期间更喜欢静态版本。我能做什么?使用CMake链接Boost库的静态版本

在你CMakeLists.txt文件:

set(Boost_USE_STATIC_LIBS ON) 
find_package(Boost REQUIRED ...) 

在那里我有...您可以有选择把你要使用的库的名称,然后target_link_libraries(targetname ${Boost_LIBRARIES})后下方。如果你有一个相当近的CMake分布,它应该像广告一样工作。我在我自己的项目中就是这样做的。

+0

伟大的工作。非常感谢你 – domachine 2010-07-04 20:58:03

+0

我试过了。它似乎只是用于搜索。如果你想静态链接,你仍然需要做一些额外的工作。 – 2011-07-07 22:34:38

+0

@Peter Lee:我有'...'的地方,你可以选择放置你想要使用的库的名称,然后在下面的'target_link_libraries(targetname $ {Boost_LIBRARIES})'。如果你有一个相当近的CMake分布,它应该像广告一样工作。我在我自己的项目中就是这样做的。 – greyfade 2011-07-07 22:55:45