0

我正在尝试使用 boost-build 构建一个使用 excel 自动化对象的 dll。

它只有一个 .cpp 文件,其中包括 mso.tlh、vbe6ext.tlh 和 excel.tlh 文件(也存在相应的 .tli 文件)。所有文件都与 jamfile 位于一个目录中。

在 Jamfile 中指定了“<include>./”。但是,当我尝试构建它时会中断,因为它正在 Jamroot 文件所在的目录中寻找 excel.tli 文件,而不是 jamfile 和 excel.tli 文件所在的目录。

如果我将 excel.tli 放在 Jamroot 所在的位置,则构建成功。

我应该怎么做才能让它在 Jamfile 所在的目录中查找 excel.tli 文件?

4

1 回答 1

1

如果头文件就在源文件旁边,则无需将其放在搜索路径中。只需确保源文件使用引号而不是尖括号包含它们,即

#include "excel.tlh"
#include "mso.tlh"
#include "vbe6ext.tlh"

path-constant或者,您可以使用规则提供正确的搜索路径。在您的 jamfile 中添加以下内容:

path-constant HERE : . ;

现在您可以$(HERE)用作对 jamfile 目录的引用

exe my_exe : ... : <include>$(HERE) ;
于 2013-06-06T12:42:41.190 回答