Boost-build не может правильно найти файл .tli и прерывает работу

Я пытаюсь построить DLL, которая использует объект автоматизации Excel, используя boost-build.

Он имеет только один файл .cpp, который включает в себя файлы mso.tlh, vbe6ext.tlh и excel.tlh (также присутствуют соответствующие файлы .tli). Все файлы находятся в одном каталоге с jamfile.

В Джемфиле «< include> ./ «указано. Однако, когда я пытаюсь собрать его, он прерывается, потому что ищет файл excel.tli в каталоге, где находится файл Jamroot, а не там, где находятся файлы jamfile и excel.tli.

Если я поставлю excel.tli, где находится Jamroot, сборка будет успешной.

Что я должен сделать, чтобы он искал файл excel.tli в каталоге, где находится Jamfile?

0

Решение

Если заголовочные файлы находятся рядом с исходным файлом, нет необходимости указывать его в пути поиска. Просто убедитесь, что исходный файл включает их в кавычки, а не в угловые скобки, т.е.

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

Кроме того, вы можете указать правильный путь поиска, используя path-constant править.
Добавьте следующее в ваш jamfile:

path-constant HERE : . ;

И теперь вы можете использовать $(HERE) как ссылка на каталог jamfile

exe my_exe : ... : <include>$(HERE) ;
1

Другие решения

Других решений пока нет …