Boost Build

简介: Window XP + Visual Studio 2008 获取Boost库源码 我们可以从http://www.boost.org/ 上获取boost的源代码。当前最新版本为1.45.0。

Window XP + Visual Studio 2008

获取Boost库源码

我们可以从http://www.boost.org/ 上获取boost的源代码。当前最新版本为1.45.0。

解压到指定目录

例如:D:/Program Files/boost/目录下

获取bjam

一种方式:从http://sourceforge.net/projects/boost/files/boost-jam/上下载;

另一种方式:双击D:/Program Files/boost_1_45_0/tools/build/v2/engine/src/build.bat。执行完成以后,就可以在bin.ntx86文件夹中发现bjam.exe,最后,将bjam.exe文件拷贝到D:/Program Files/boost_1_45_0/目录下。

编译指定的boost库

其实,多数的boost库并不需要进行编译的,只有少部分库是平台相关的,需要单独编译,这可以在http://www.boost.org/doc/libs/1_45_0/more/getting_started/windows.html 上看到。
原文如下:

image

针对这些需要编译的库文件,我们应该如何编译呢?(个人使用的MSVC)

打开CMD,进入boost的主目录,cd “D:/Program Files/boost_1_45_0/”

因为,我们已经将bjam.exe拷贝到BOOST_ROOT/boost_1_45_0下,所以,现在,我们可以直接使用bjam来编译指定的boost库。
可以通过bjam --help查看相关操作,下面将一些常用的参数列出,如下:

   --build-dir=  	编译的临时文件会放在builddir里(这样比较好管理,编译完就可以把它删除了)
   --stagedir= 	存放编译后库文件的路径,默认是stage
   --build-type=complete 	编译所有版本,不然只会编译一小部分版本(确切地说是相当于:variant=release, threading=multi;link=shared|static;runtime-link=shared)
   variant=debug|release 	决定编译什么版本(Debug or Release?)
   link=static|shared 	        决定使用静态库还是动态库。
   threading=single|multi 	决定使用单线程还是多线程库。
   runtime-link=static|shared 	决定是静态还是动态链接C/C++标准库。
   --with- 	        只编译指定的库,如输入--with-regex就只编译regex库了。
   --show-libraries 	        显示需要编译的库名称
举例,如果我们只想编译boost.thread,我们可以使用如下命令:
   bjam --toolset=msvc --build-dir=midfiles --stagedir=stage --build-type=complete --with-thread
 
   --toolset=msvc         指定编译器,如果使用其他的编译器,可以自行指定,borland(对应BCB)或msvc(对应VC)或gcc(对应Mingw)
   --build-dir=midfiles   指定中间文件的目录,midfiles是我自己随便写的,方便以后删除
   --build-type=complete  上面的介绍写的很清楚,就不赘述了
   --with-thread          指定需要编译的boost库,当然,不指定也可以,那就全部编译,花费的时间比较长,3、4个小时吧,而且,多数还用不上。

编译完成之后,可以在 D:/Program Files/boost_1_45_0/ 下发现多了两个文件夹midfiles(可直接删除)和stage(可以通过--stagedir=自行指定),需要的lib就在stage文件夹下了。

最后,在Visual Studio环境下设置相应的include和library目录就可以使用boost库了。

目录
相关文章
|
30天前
|
C++ Python
【boost】boost1.71安装以及VS2019调用boost.Python
【boost】boost1.71安装以及VS2019调用boost.Python
|
并行计算 编译器 TensorFlow
win10 install tensorflow error:Loaded runtime CuDNN library: 7102 but source was compiled with 7005
win10 install tensorflow error:Loaded runtime CuDNN library: 7102 but source was compiled with 7005
139 0
cmake Can‘t find third_party/gtest
cmake Can‘t find third_party/gtest
46 0
static library libs/libvpx/libvpx.a is not portable!
static library libs/libvpx/libvpx.a is not portable!
311 0
|
并行计算 C++
错误解决:src/cpp/cuda.hpp:  fatal error: cuda.h
错误解决:src/cpp/cuda.hpp:  fatal error: cuda.h
97 0
|
数据可视化 编译器 Windows
CMake“cmake is not able to compile a simple test program”错误 的解决方法
CMake“cmake is not able to compile a simple test program”错误 的解决方法
435 0
|
数据可视化 编译器 Windows
关于 CMake“cmake is not able to compile a simple test program”错误 的解决方法
关于 CMake“cmake is not able to compile a simple test program”错误 的解决方法
关于 CMake“cmake is not able to compile a simple test program”错误 的解决方法
dpkg-checkbuilddeps: error: Unmet build dependencies: build-essential:native
dpkg-checkbuilddeps: error: Unmet build dependencies: build-essential:native
667 0
|
C语言
boost使用log库编译报错
使用boost的log,用以下链接选项: -lboost_system -lboost_thread -lboost_log -lboost_log_setup -lboost_filesystem -lpthread 当...
1656 0