Я хотел бы скомпилировать статическую версию инструментария Qt на платформе Windows (Windows XP SP3). Я загрузил последнюю версию для Windows и успешно ее установил. Затем я открыл командную строку Qt 4.6.3 в меню Пуск и вызывается:Неопределенные ссылки при компиляции статической сборки Qt на Windows
configure -static -release -nomake examples -nomake demos -fast
конфигурации выполняет хорошо, и первую часть mingw32-make
, а также. В какой-то момент я получаю много неопределенных ссылок:
mingw32-сделать [4]: Ввод каталог `C: /Qt-static/4.6.3/src/tools/moc»
г ++ -c - O2 -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_MOC -DQT_BOOTSTRAPPED -DQT_LITE_UNICODE -DQT_TEXTCODEC -DQT_NO_CAST_FROM_AS CII -DQT_NO_CAST_TO_ASCII -DQT_NO_CODECS -DQT_NO_DATASTREAM -DQT_NO_GEOM_VARIANT -DQT_NO_LIBRARY -DQT_NO_QOBJECT -DQT_NO_STL -DQT_NO_SYSTEMLOCALE -DQT_NO_TEXTST REAM -DQT_NO_THREAD - DQT_NO_UNICODETABLES -DQT_NO_USING_NAMESPACE -DQT_NODLL -I " ." -Я"." -I "...... \ include" -I "...... \ include \ QtCore" -I "...... \ include \ Qt Xml" -I ".... \ xml "-I" c: \ Program Files \ Microsoft Visual Studio .NET 2003 \ SDK \ v1. 1 \ include "-I" ...... \ mkspecs \ win32-g ++ "-o release \ moc.o moc.cpp...
г ++ -enable-STDCALL-Fixup -Wl, -enable-авто-импорт -Wl, -enable-среда-псевдо-отн ос -Wl, -s -Wl , -subsystem, console -mthreads -Wl -o ...... \ bin \ moc.exe release/m oc.o выпуск/preprocessor.o выпуск/generator.o выпуск/parser.o выпуск/token.o release/main.o -L "c: \ Program Files \ Microsoft Visual Studio .NET 2003 \ SDK \ v1.1 \ Lib \" -LC: /Qt-static/4.6.3/sr с/инструменты/начальной загрузки/релиз -lbootstrap -luser32 выпуска/moc.o: moc.cpp :(текст + 0x14b). неопределенная ссылка на
QByteArray::shared_ null'
QByteArray :: shared_ нуль»
release/moc.o:moc.cpp:(.text+0x150): undefined reference to
релиз/moc.o: MOC. каст :(текст + 0x156):. неопределенная ссылка на `QByteArray :: shared_...
список неопределенных ссылок на самом деле гораздо больше.
Это нестандартная установка по умолчанию для Windows. Интересно, что я делаю что-то неправильно или есть ошибка в наборе инструментов.
Вы видели, где QByteArry :: shared_null определен? Скорее всего, вы неправильно настроили установку, поэтому такой широко используемый пакет нарушен. – msw