Windows下编译boost库

需要编译的boost库

以下的库必须单独编译:

Boost.ChronoBoost.System
Boost.ContextBoost.ProgramOptions
Boost.FilesystemBoost.Python
Boost.GraphParallelBoost.Regex
Boost.IOstreamsBoost.Serialization
Boost.LocaleBoost.Signals
Boost.LogBoost.Thread
Boost.MPI

Boost.Timer

Boost.Wave

具有可选的单独编译的一些库:

Boost.DateTime

有一个二进制组件,在使用其to_string/from_string或序列化功能时才需要

Boost.Graph

有一个二进制组件,在您打算分析GraphViz文件时才需要

Boost.Math

具有TR1和C99 cmath函数的二进制组件

Boost.Random

有一个二进制组件,在你使用random device时需要它。

Boost.Test

可以在“仅标题”或“单独编译”模式下使用,虽然单独编译建议严格使用。

Boost.Exception

为32位MSC_VER==1310和_MSC_VER==1400提供了非浸入性的exception_ptr实现,它需要一个单独编译的二进制文件,由BOOST_ENABLE_NON_INTRUSIVE_EXCEPTION_PTR启用

编译步骤:

打开cmd命令窗口,找到boost目录,运行命令:booststrap.bat

命令运行完毕后boost目录产生下列文件:

使用bjam.exe(或b2.exe)来编译boost,这两个exe作用是一样的,bjam.exe是老版本,b2是bjam的升级版本

例如:

bjam stage --toolset=msvc-9.0 --without-python --stagedir="E:\Sdk\boost\bin\vc9" link=static runtime-link=shared runtime-link=static threading=multi debug release

bjam参数说明:

stage/install

stage表示只生成库(dll和lib),install还会生成包含头文件的include目录

--toolset

指定编译器,可选的如borland、gcc、msvc(vc6)、msvc-9.0(vs2008)等。

--stagedir=<stagedir>

存放编译后库文件的路径,默认是stage

--bulid-type=complete

编译所有版本,不然只会编译一小部分版本(相当于:variant=release,threading=multi;link=shared|static;runtime-link=shared)

--without

--with

选择不编译/编译哪些库,如输入--with-regex就只编译regex库,默认是全部编译,显示需要编译的库名称命令bjam --show-libraries.

--build-dir

编译的临时文件会放在builddir里(编译完就可以把它删除了)

link=static|shared

使用静态库还是动态库

threading=single|multi

使用单线程还是多线程库

runtime-link=static|shared

是静态还是动态链接c/c++标准库

例如:

VS2019编译boost_1_70_0

b2.exe install --prefix=“F:\boost_1_70_0\x64” --build-type=complete --toolset=msvc-14.2  link=shared runtime-link=shared runtime-link=static threading=multi debug release

bjam编译:

如果想使用默认配置,则直接在cmd执行以下命令:b2.exe,大约经过30分钟的时间,编译成功如下:

库命名规则说明:

lib:在windows上,只有普通的静态库使用lib前缀;导入库和DLL不使用

boost_XXX:所有boost库名文件以boost_xxx开头

-vc142:toolset标记;标识了构建该库所用的toolset和版本

-mt:threading标记;标识构建该库启用了多线程支持,不支持多线程的库没有-mt。

g:使用标准库和运行时支撑库的调试版本

d:构建代码的调试版本

s:静态链接到C++标准库和编译器运行时支撑库

y:使用Python的特殊调试构建

p:使用STLPort标准库而不是编译器提供的默认库

n:使用STLPort已被弃用的“native iostreams”

-1_67:版本标记;完整的boost发布号,下划线代替点

.lib:扩展名:取决于操作系统,在大多数unix平台上,.a是静态库,.so是共享库。在Windows上,.dll表示共享库,.lib是静态库或导入库。

VS配置库目录:

右键项目-》属性:

指定附加依赖项:

或者使用命令:

#pragma comment(lib, "libboost_date_time-vc142-mt-x32-1_67.lib")

 

 

 

 

 

 

 

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先,你可以在boost官方网站上找到最新版本的boost下载。打开网站后,点击“下载”菜单选项,在该页面上,你会看到当前最新的稳定版本。首先,你需要选择合适的版本,比如支持你所用操作系统和编译器的版本。 一旦你选择了合适的版本,点击下载链接。页面将跳转到boost的源代码下载页面,在这个页面上,你可以看到不同的下载选项,比如下载zip压缩包或tar.gz压缩包。根据你个人的喜好和需求,选择合适的压缩包下载。 下载完成后,解压缩压缩包到你选择的目录中。在解压缩后的文件夹中,你将找到boost的源代码,以及一些编译脚本和文档。 接下来,你需要根据你的操作系统和编译器,进行相应的配置和编译。打开解压缩后的文件夹,你将找到一个名为bootstrap.bat(Windows)或bootstrap.sh(Linux/Mac)的脚本文件。运行这个脚本,它将帮助你配置boost编译环境。 完成配置后,你可以运行b2(Windows)或./b2(Linux/Mac)命令来编译boost。这个命令会根据你的配置选项编译boost,并生成相应的文件和头文件。 最后,你可以将编译生成的文件和头文件拷贝到你的项目中,然后在你的代码中使用boost的功能。 总结起来,下载boost可以通过以下步骤完成:选择合适的版本、下载压缩包、解压缩、配置编译环境、编译、拷贝文件到项目中。这样就可以成功下载和使用boost了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值