在交叉编译环境中提升构建方法:本机构建工具

时间:2012-10-16 23:19:05

标签: cross-compiling boost-build boost-bjam

我已经使用从Windows(使用msvc)到Linux(使用gcc)的boost-build移植了一个项目,现在我将其移植到交叉编译的Linux(也使用gcc)。我想长期支持所有3个平台(Windows,本机Linux,交叉编译Linux)。

我已经为交叉编译提供了基本支持,只需添加一个新的“using gcc ...”行。但是,这个项目使用了一些代码生成构建工具,这些工具是在每次构建时重新构建的 - 我目前对交叉编译的基本支持,这些构建工具 是交叉构建的,因此不能在构建机器上运行。简而言之,这些需要始终本地构建,我不确定如何最好地指定它。这种情况有最佳实践吗?

我当然可以提供有关Jamfiles等组织的更多细节,但我认为我的开头是一个简短的注释;>

提前感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

我尝试的第一件事就是强制使用主机工具集来构建工具,例如

exe mytool : mytool.cpp
           : <host-os>linux:<toolset>gcc
;

答案 1 :(得分:0)

为了关闭循环,我还在boost build邮件列表中提出了这个问题。对我有用的答案是:

http://article.gmane.org/gmane.comp.lib.boost.build/25469

相关问题:一旦我完成了上述工作,我遇到了一个显然是boost构建中的错误,其中静态库传播“太远”。我使用这里的答案解决了第二个问题:

http://article.gmane.org/gmane.comp.lib.boost.build/25484