Как заставить cpptask переместить статические библиотеки в конец списка аргументов, выданного компилятору?
Вот пункт, который я использую
<cpptasks:cc description="appname" subsystem="console" objdir="obj" outfile="dist/app_test">
<compiler refid="testsslcc" />
<linkerarg value="-L${libdir}" />
<linkerarg value="-L/usr/local/devl/lib" />
<linkerarg value="-Wl,-rpath,../lib" />
<libset libs="unittest ${libs} dsg readline ncurses gcov" />
<fileset dir="test/obj" includes="main.o" />
<fileset dir="." includes="${TCFILES}" />
<fileset dir="../lib" includes="libboost_thread.a libboost_date_time.a" />
</cpptasks:cc>
когда это выполняется, libboost_thread.a libboost_date_time.a - первые файлы в списке аргументов, переданные компилятору,
gcc -ggdb -Wl,-export-dynamic -Wshadow -Wno-format-y2k \
../../lib/libboost_date_time.a ../../lib/libboost_thread.a x.cpp ...
, что вызывает ошибку компилятора. Перемещая их вручную в конец списка аргументов, приложение компилируется без ошибок.
gcc -ggdb -Wl,-export-dynamic -Wshadow -Wno-format-y2k x.cpp ... \
../../lib/libboost_date_time.a ../../lib/libboost_thread.a
И да, я пытался изменить порядок в xml, и это, конечно, не сработало. Сейчас я использую задачу exec для вызова gcc с файлами в правильном порядке, но это, конечно, подделка.