我有一个 Jamroot 文件,看起来有点像这样;
project foo ;
alias bar ./src/path/to/bar//bar
build-project bar ;
Run Code Online (Sandbox Code Playgroud)
总是给出烦人的错误
error: Unable to find file or target named
error: '/foo//bar/'
error: referred from project at
error: '.'
Run Code Online (Sandbox Code Playgroud)
运行与;
bjam --debug-building
building project Jamfile</home/chris/code/foo> ('object(project-target)@163') with
{.. as above ...}
Run Code Online (Sandbox Code Playgroud)
根本没有帮助。
如果我将目录更改为文件夹并输入 bjam,则项目的该部分将完美构建。
作为解决方法,我有一个脚本可以在所有文件夹中执行此操作,但我很想知道为什么“正确”的方法不起作用。
我正在使用以下版本的 bjam
bjam --version
Boost.Build V2 (Milestone 12)
Boost.Jam 03.1.16
Run Code Online (Sandbox Code Playgroud)
非常感谢
我发现我实际上不需要这样做;只需在 Jamroot 中将子项目列为别名就足以让 bjam 构建它们。
\n\n因此构建项目的步骤是不必要的并且是错误的。
\n\n我还从Boost 构建参考页面找到了这一点;
\n\n构建项目;导致建立一些其他项目。此规则采用单个参数\xe2\x80\x94a 相对于包含 Jamfile 的目录名称。当构建包含的 Jamfile 时,位于该目录的项目也将被构建。目前,该规则的参数应该是目录名称。不允许项目 ID 或一般目标引用。“(我的重点)
\n| 归档时间: |
|
| 查看次数: |
2914 次 |
| 最近记录: |