Boost Build,无法找到文件或目标 x

Chr*_*ver 5 boost-build

我有一个 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)

非常感谢

Chr*_*ver 4

我发现我实际上不需要这样做;只需在 Jamroot 中将子项目列为别名就足以让 bjam 构建它们。

\n\n

因此构建项目的步骤是不必要的并且是错误的。

\n\n

我还从Boost 构建参考页面找到了这一点;

\n\n

构建项目;导致建立一些其他项目。此规则采用单个参数\xe2\x80\x94a 相对于包含 Jamfile 的目录名称。当构建包含的 Jamfile 时,位于该目录的项目也将被构建。目前,该规则的参数应该是目录名称。不允许项目 ID 或一般目标引用。“(我的重点)

\n