如何使用MinGW构建Boost 1.55?

时间:2013-11-28 12:10:37

标签: c++ windows boost build mingw

我已经下载了Boost 1.55和MinGW。

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

P.S。:如果我用微软的编译器构建激励器,我将有大约8个错误,错误3861 !!

我该如何构建它?

4 个答案:

答案 0 :(得分:36)

首先确保您的mingw的bin目录位于您的环境PATH中,因此gccg++可从命令提示符调用。然后进入你提取文件的位置的根目录。

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

bootstrap gcc
b2 toolset=gcc regex

您可以使用:

b2 --show-libraries

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

b2 toolset=gcc

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

答案 1 :(得分:20)

Greatwolf的回答对我不起作用,所以这就是我如何设法让它发挥作用。

首先,确保MinGW\bin在您的路径上

转到boost文件夹的tools\build\v2目录。例如,在我的情况下,它是C:\Boost\boost_1_55_0\tools\build\v2。然后运行

bootstrap mingw

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

现在,如果你想构建Filesystem,请执行

tools\build\v2\b2 toolset=gcc --build-type=complete stage --with-filesystem

这会将libboost_filesystem-mgw48-d-1_55.dll等放入stage\lib。如果您想构建所有内容,请离开--with-filesystem部分。

答案 2 :(得分:4)

我能按照锑的指示建造它。但是我最初得到了这个错误:

Bootstrapping the build engine
\Windows was unexpected at this time.

通过清除PATH变量并仅将MinGW文件夹放入其中来解决错误:

set PATH=C:\MinGW\bin

然后锑的指示为我完成了这项工作。谢谢!

其他两件可能有用的小事。应该从Windows shell构建Boost for MinGW,而不是从MSYS shell构建。在版本1.57中,bootstrap.bat脚本不再位于tools \ build \ v2中,而是直接位于tools \ build中。

答案 3 :(得分:4)

如果你已经在TDM-GCC中安装了MinGW / GCC,那么你将拥有一个" MinGW命令提示符"你可以发射。这将加载命令提示符窗口并将GCC编译器放在该窗口的PATH上。 (类似于"开发人员命令提示符"随Visual Studio一起安装。)

我认为the "MinGW distro"也附带了一个。

如果您有一个集成的命令提示符,您可以简单地:

  • 启动" MinGW命令提示符"
  • 转到Boost文件夹(例如C:/ Boost)
  • 运行bootstrap gcc
  • 运行b2 toolset=gcc(或您需要的任何b2命令)

如果您正在使用某些人没有明确设置工具集的示例,则必须自己添加toolset=gcc。请注意,toolset必须放在属性位置,而不是选项命令位置。来自b2 --help

b2 [options] [properties] [install|stage]

因此,如果某人正在编写命令以使用install选项调用--prefix命令,则他们将其写为:

b2 --prefix=C:\boost-build install

并且您将其重写为:

b2 --prefix=C:\boost-build toolset=gcc install

有关详细信息,请参阅b2 --help