我目前正在将其中一个项目移植到GCC,并且我正在使用MinGW-w64项目来完成此任务,因为我需要x64和x86支持。使用MinGW-w64和Boost.Build构建C++环境
虽然我在设置构建环境时遇到了问题。我的项目目前使用Boost C++库,并且使构建过程更简单我也在项目中使用Boost.Build(因为它使得集成变得简单)。
在MSVC这是好的,因为我可以做在命令行以下操作:
b2 toolset=msvc address-model=32 # compile as 32-bit
b2 toolset=msvc address-model=64 # compile as 64-bit
的MinGW-W64是使这种“有问题”,因为在32位和64位的工具链容纳在单独的目录中。 (分别为C:\ MinGW32和C:\ MinGW64)。
是否有可能以某种方式设置Boost.Build,以便根据地址模型标志选择正确的工具链?如果不是,我的下一个最佳选择是什么?
编辑:
如果有帮助,我使用的是rubenvb 4.6.3-1从MinGW的-W64网站建设“个人构建”文件夹中(我使用这些构建特别是我想尝试让我的代码解析 - 但不能编译 - 在铛下)。
编辑:
一个解决方案我还以为会是“手动”设定的路径指向编译之前正确的工具链,然而,这增加了复杂性的一个额外层到我的构建过程中,我会喜欢避免。理想情况下,我希望它像MSVC一样简单,但我明白这可能是不可能的。在最坏的情况下,我假设我刚刚建议的工作,并且我只需添加脚本以在调用Boost.Build之前正确设置PATH。这意味着硬编码路径,但我不想这么做...
有什么办法可以在工具链中不添加前缀的情况下做类似的事情吗?我想使用“默认”工具链名称,并使用地址模型标志检测到32/64位部分。 – RaptorFactor 2012-01-11 11:55:39
例如b2 toolset = gcc address-model = 32 – RaptorFactor 2012-01-11 11:55:55
不是我所知道的,address-model显然不支持作为mingw-gcc的参数。请问为什么使用address-model = 32在你的情况下更好? – Kristofer 2012-01-11 12:05:21