繁体   English   中英

如何使用MinGW构建Boost 1.55?

[英]How do I build Boost 1.55 with MinGW?

我已经下载了Boost 1.55和MinGW。

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

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

我怎样才能建造它?

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

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

bootstrap gcc
b2 toolset=gcc regex

您可以使用:

b2 --show-libraries

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

b2 toolset=gcc

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

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部分。

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

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中。

如果您已将MinGW / GCC安装为TDM-GCC的一部分,则可以启动“MinGW命令提示符”。 这将加载命令提示符窗口并将GCC编译器放在该窗口的PATH上。 (类似于随Visual Studio一起安装的“Developer Command Prompt”。)

我认为“MinGW发行版”也附带一个。

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

  • 启动“MinGW Command Prompt”
  • 转到Boost文件夹(例如C:/ Boost)
  • 运行bootstrap gcc
  • 运行b2 toolset=gcc (或者你需要的任何b2命令)

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

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

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

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

你会把它重写为:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM