Наш проект содержит много исходных текстов на c ++, до сих пор мы пели для того, чтобы собрать все, но это занимает много времени. Поэтому я наткнулся на waf, который работает довольно хорошо и значительно ускоряет сборку. Однако каждый раз, когда я делаю полную сборку, я получаю пару ошибок, которые не имеют смысла. Если я сейчас делаю инкрементную сборку, большую часть времени некоторые источники, которые не могли быть собраны с первого раза, создаются сейчас, а некоторые другие все еще не работают. В другой инкрементной сборке я наконец получу успешную сборку.
Я пытался создавать отдельные библиотеки отдельными шагами, на случай, если какие-либо зависимые библиотеки будут пытаться построить параллельно, но ошибки все равно появляются.
РЕДАКТИРОВАТЬ: Ошибки, которые я продолжаю получать, похоже, не имеют никакого отношения к моему коду, например,
Build failed
-> task failed (exit status -1):
{task 10777520: c constr_SET.c -> constr_SET.c.1.o}
После очередного "ваф билда" эта ошибка больше не появляется.
EDIT2: Шаг сборки для моих библиотек выглядит следующим образом:
def build(bld):
bld.shlib(source="foo.cpp bar.cpp foobar.cpp constr_SET.c",
target="foobar",
includes= "../ifinc",
name="foobar",
use="MAIN RW HEADERS",
install_path = "lib/")
MAIN, RW, HEADERS - это лишь некоторые флаги и внешние библиотеки, которые мы используем.
Кто-нибудь видел подобное поведение в их системе? Или даже решение?