背景
使用动态链接编译的二进制程序在执行时要求开发环境与生产环境严格一致,因此我们更倾向于使用静态链接的方式链接第三方库。本文介绍如何在Linux 环境下使用cmake 静态链接Boost 库。
示例
我们将编译好boost静态库.a 文件和头文件放入third_party 目录,在CMakeLists.txt 中使用find_package 方法查找boost静态库。
我自己在CentOS 6.6 编译的boost 1.63.0 静态库以及头文件 boost static library
// 加入boost头文件路径
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/third_party/boost_1_63_0/include)
// 设置boost使用静态链接
set(Boost_USE_STATIC_LIBS ON)
// 设置需要的boost 组件
set(BOOST_COMPONENTS date_time chrono filesystem iostreams program_options regex system thread unit_test_framework)
// 使用cmake find_packag