我需要为特定类型的项目编辑 boost-build 使用的 .jam 文件。BJAM 语言的官方手册说:
- 关心 DEF 文件的工具集之一是 msvc。应添加以下行。标志 msvc.link DEF_FILE ;
- 由于 msvc.link 操作不使用 DEF_FILE 变量,我们需要将其修改为: actions link bind DEF_FILE { $(.LD) .... /DEF:$(DEF_FILE) .... } 注意绑定 DEF_FILE 部分。它告诉 bjam 将 DEF_FILE 中的内部目标名称转换为链接中的相应文件名
所以显然只用 ECHO 打印 DEF_FILE 是行不通的。如何将其扩展为字符串变量或可以实际检查的东西?
我需要做的是打印一条错误消息并在未设置标志的情况下中止构建。我试过:
if ! $(DEF_FILE)
{
errors.user-error "file not found" ;
EXIT ;
}
但是这个“如果”总是正确的
我还尝试将“if!$_DEF_FILE {...}”放在包含的“动作”中,但显然它被忽略了。