Я пытался получить простой список из университетского учебника, чтобы собрать новейший QT SDK для Windows, который я скачал вчера вечером. Пройдя сквозь обычную ерунду (нет make.bat, нужно вручную добавлять переменные окружения и т. Д.), Я, наконец, нахожусь в точке, где я могу построить Но, похоже, работает только одна из двух библиотек.
.pro-файл, который я использую, очень прост:
SUBDIRS += utils \
dataobjects
TEMPLATE = subdirs
В каждой из этих двух подпапок у меня есть источник для библиотеки. При запуске QMAKE создается make-файл, а при запуске Make проходит через все предварительные условия, а затем происходит сбой при вызове g ++:
g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc --out-implib,libdataobjects.a -shared -mthreads -Wl -Wl,--out-implib,c:\Users\Cobus\workspace\lib\libdataobjects.a -o ..\..\lib\dataobjects.dll object_script.dataobjects.Debug -L"c:\Users\Cobus\Portab~1\Qt\2010.02.1\qt\lib" -LC:\Users\Cobus\workspace\lib -lutils -lQtXmld4 -lQtGuid4 -lQtCored4
c:/users/cobus/portab~1/qt/2010.02.1/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../mingw32/bin/ld.exe: cannot find -lutils
Проблема, похоже, в самом конце командной строки, где добавляется -lutils, что указывает на наличие библиотеки с именем utils. Хотя я и ожидал увидеть это, вы заметите, что имена библиотек после --out включают lib в имя, поэтому они становятся libutils и libdataobjects. Я пытался выяснить, почему это происходит, но безрезультатно.
Кто-нибудь знает, что происходит?