0

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

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

我当然可以提供有关 Jamfile 组织等的更多详细信息,但我想我会从简短的说明开始;>

提前感谢您的帮助!

4

2 回答 2

0

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

exe mytool : mytool.cpp
           : <host-os>linux:<toolset>gcc
;
于 2012-10-21T16:51:01.397 回答
0

只是为了结束循环,我还在 boost build 邮件列表上问了这个问题。对我有用的答案是:

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

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

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

于 2012-10-26T19:13:24.527 回答