如何使用MinGW构建Boost 1.55?

War*_*vvv 21 c++ windows boost mingw build

我已经下载了Boost 1.55和MinGW.

控制台回答我说我没有任何命令.我无法理解如何绑定两个路径并激活GCC编译器.

PS:如果我使用微软的编译器构建增强功能,我将有大约8个错误,错误3861!

我怎样才能建造它?

gre*_*olf 37

首先确保您的mingw的bin目录在您的环境中PATH,gcc并且g++可以从命令提示符调用.然后进入您提取文件的位置的根目录.

然后使用bootstrap + b2.exe进行构建.例如,假设您只想编译boost的正则表达式部分.以下命令应该可以解决问题:

bootstrap gcc
b2 toolset=gcc regex
Run Code Online (Sandbox Code Playgroud)

您可以使用:

b2 --show-libraries
Run Code Online (Sandbox Code Playgroud)

获取可以单独构建的模块列表.当然,您可以使用以下方式构建所有这些:

b2 toolset=gcc
Run Code Online (Sandbox Code Playgroud)

查看Boost Invocation以获取可用选项的详细列表.

  • 我不得不使用`bootstrap gcc` (7认同)
  • @ChrisChiasson同样在这里.bootstrap mingw,或者bootstrap.bat mingw为我提供了错误.只有bootstrap gcc使它工作(带有几个警告).之后我做了b2 toolset = gcc让它从源码构建二进制文件〜15分钟,我很好.从Boost版本1.62.0开始,您只需要这两个命令 (3认同)

Ant*_*ony 20

Greatwolf的回答对我不起作用,所以这就是我如何设法让它运作起来的.

首先,确保MinGW\bin在你的道路上

转到tools\build\v2boost文件夹的目录.例如,就我而言C:\Boost\boost_1_55_0\tools\build\v2.然后跑

bootstrap mingw
Run Code Online (Sandbox Code Playgroud)

之后,切换到根Boost目录(这部分很重要,因为b2根据当前目录检测到要构建的内容)

现在,如果你想构建Filesystem,那就做吧

tools\build\v2\b2 toolset=gcc --build-type=complete stage --with-filesystem
Run Code Online (Sandbox Code Playgroud)

这将把libboost_filesystem-mgw48-d-1_55.dll等等stage\lib.如果你想建立一切,只需要离开--with-filesystem零件.