Я пытаюсь построить 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?
Если заголовочные файлы находятся рядом с исходным файлом, нет необходимости указывать его в пути поиска. Просто убедитесь, что исходный файл включает их в кавычки, а не в угловые скобки, т.е.
#include "excel.tlh"#include "mso.tlh"#include "vbe6ext.tlh"
Кроме того, вы можете указать правильный путь поиска, используя path-constant
править.
Добавьте следующее в ваш jamfile:
path-constant HERE : . ;
И теперь вы можете использовать $(HERE)
как ссылка на каталог jamfile
exe my_exe : ... : <include>$(HERE) ;
Других решений пока нет …