Я пытаюсь скомпилировать и связать DLL через Jam. Это DLL-библиотека только для ресурсов, поэтому мне нужно выяснить, как передать флаг / noentry компоновщику через Jam.
Вот как выглядит мой Jamfile прямо сейчас:
// need to figure out how to specify the /noentry CFLAG somewhere here
PackageDll foo
: NAME foo.dll
: DESC "Resource File": USE_C
;
Build foo
: system.pkg foo.rc
: .
;
Заранее спасибо!
Синтаксис выглядит как jam, но правила PackageDll и Build не являются стандартными (т.е. выполняются) правилами jam. Если эти правила реализованы таким образом, что они, наконец, вызывают стандартные действия Link jam, добавление вашего флага в целевую переменную LINKFLAGS поможет. Предполагая, что именем цели является foo.dll (добавьте все, что добавить в ваши правила, если таковые имеются), это можно сделать так:
LINKFLAGS on foo.dll = [ on foo.dll return $(LINKFLAGS) ] /noentry ;
Не зная, что делают ваши правила, лучше всего делать это после их вызова.
Других решений пока нет …