我使用的cmake来组织工程。以下为使用的查找boost的cmake脚本。
boost的安装方法很多。
windows下推荐使用专门的下载工具。
Mac下"brew install boost"或者"sudo port install boost"。
Ubuntu下"sudo apt-get install boost“。
通用的方法,下载源代码,使用bjam自己编译。
set(Boost_USE_STATIC_LIBS OFF) #此三行为boost设定,在查找boost之前,使用这三个变量,就可以选择你想要的boost编译版本
set(Boost_USE_MULTITHREADED ON)
set(Boost_USE_STATIC_RUNTIME OFF)
#set(Boost_DEBUG 1) # 这一行是配合cmake的FindBoost.cmake使用的,可以输出查找过程
find_package(Boost 1.55.0 REQUIRED COMPONENTS unit_test_framework)
include_directories(${Boost_INCLUDE_DIRS})
target_link_libraries(test ${Boost_LIBRARIES})
这一段脚本里有一个要点:理论上讲,cmake不区分大小写,但是只是cmake部分。涉及到的各种库需要的宏是区分大小写的。比如,我开始在find_package时使用的,find_package(boost),结果找得到boost,也发现版本号,但就是找不到库。研究了两天,最后发现find_package(Boost)就好了。