我有一个看起来有点像这样的Jamroot文件;
project foo ;
alias bar ./src/path/to/bar//bar
build-project bar ;
总是给出恼人的错误
error: Unable to find file or target named
error: '/foo//bar/'
error: referred from project at
error: '.'
使用;
运行bjam --debug-building
building project Jamfile</home/chris/code/foo> ('object(project-target)@163') with
{.. as above ...}
根本没有帮助。
如果我将目录更改为文件夹并键入bjam,则项目的该部分将完美构建。
作为一种解决方法,我有一个脚本可以在所有文件夹中执行此操作,但我很想知道为什么“正确”的方法不起作用。
我正在使用以下版本的bjam
bjam --version
Boost.Build V2 (Milestone 12)
Boost.Jam 03.1.16
非常感谢
答案 0 :(得分:2)
我发现我实际上并不需要这样做;简单地将子项目列为Jamroot中的别名足以让bjam构建它们。
所以构建项目步骤是不必要的和错误的。
我也是从Boost build reference page;
找到的建项目;导致其他一些项目的建立。此规则采用单个参数 - 相对于包含Jamfile的目录名称。构建包含Jamfile时,也将构建位于该目录的项目。目前,此规则的参数应该是目录名称。 不允许使用项目ID或一般目标参考。 “(我的突出显示)