1

Windows プラットフォーム (Windows XP SP3) で Qt ツールキットの静的バージョンをコンパイルしたいと考えています。Windows 用の最新リリースをダウンロードし、正常にインストールしました。次に、[スタート] メニューから Qt 4.6.3 コマンド プロンプトを開き、以下を呼び出しました。

configure -static -release -nomake examples -nomake demos -fast

構成は正常に実行され、最初の部分mingw32-makeも同様に実行されます。ある時点で、多くの未定義の参照を取得します。

mingw32-make[4]: ディレクトリ `C:/Qt-static/4.6.3/src/tools/moc' に入り
ます-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

...

g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-rel oc -Wl,-s -Wl,-subsystem,console -mthreads -Wl -o .... ..\bin\moc.exe リリース/m oc.o リリース/preprocessor.o リリース/generator.o リリース/parser.o リリース/token.o リリース/main.o -L"c:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\ Lib\" -LC:/Qt-static/4.6.3/src/tools/bootstrap/release -lbootstrap -luser32 release/moc.o:moc.cpp:(.text +0x14b): QByteArray::shared_ null への未定義の参照 release/moc.o:moc.cpp:(.text+0x156): `QByteArray::shared_ への未定義の参照QByteArray::shared_ null'
release/moc.o:moc.cpp:(.text+0x150): undefined reference to

...

未定義の参照のリストは、実際にはもっと長くなります。

これは、かなりデフォルトの Windows インストールではすぐに使用できます。何か間違ったことをしているのだろうか、それともツールキットにバグがあるのだろうか。

4

1 に答える 1

1

私も同様の問題を抱えていました。私の場合、Visual Studio は環境パラメーター
INCLUDEを設定LIBしていたため、make が混乱しました。

解決策は、コマンドラインからそれらを無効にすることでした

set INCLUDE=
set LIB=

Qt ライブラリをコンパイルする前に。

于 2010-06-24T11:32:43.477 に答える