Qpid第二课 配置Boost依赖库环境变量

场景

Qpid依赖Boost库,一般情况下,使用CMake生成VS解决方案的时候,需要指定Boost头文件和库文件目录,否则出现如下的错误编译提示:

Could not find the following Boost libraries:  

    boost_sysytem  

    boost_thread  



解决方案一:

在环境变量中新建一个:名为BOOST_ROOT,值为E:\work2\boost_1_58_0


解决方案二:

在环境变量中新建一个:名为BOOST_INCLUDEDIR,值为E:\work2\boost_1_58_0

在环境变量中新建一个:名为BOOST_LIBRARYDIR,值为E:\work2\boost_1_58_0\stage\lib


重启系统,让环境变量生效!!


技巧

当前使用的是Boost动态库,Boost编译出来的静态库文件无法被CMake搜索到


注意事项

1)直接从官方下的编译好的包,而编译好的包里头,库文件目录的名字是lib64-msvc-12.0,需要修改为lib或者stage/lib

FindBoost.cmake文件是如何搜索Boost lib文件的呢?

下面是搜索Boost lib的脚本代码,当然如果不修改库文件目录可以添加如下

      ${Boost_INCLUDE_DIR}/lib64-msvc-12.0

    list(APPEND _boost_LIBRARY_SEARCH_DIRS_${c}

      ${Boost_INCLUDE_DIR}/lib

      ${Boost_INCLUDE_DIR}/../lib

      ${Boost_INCLUDE_DIR}/stage/lib

      )


2)下载Boost源码编译动态库

b2.exe  --build-type=complete --build-dir=build_tmp toolset=msvc-14.0 address-model=32 stage

说明:stage说明将编译的库文件复制到stage目录,生成过程的文件保存在build_tmp目录,toolset指定

使用VS2015编译器




     本文转自fengyuzaitu 51CTO博客,原文链接:http://blog.51cto.com/fengyuzaitu/2071758,如需转载请自行联系原作者



上一篇:linux(CentOS)基础命令大全


下一篇:linux网络详细配置(以CentOS6.7为例)