昨夜ダウンロードした最新のQTSDKfor Windowsでコンパイルするために、大学の教科書から非常に単純なリストを取得しようとしています。通常のナンセンス(make.batがない、環境変数を手動で追加する必要があるなど)に苦労した後、ようやくビルドできるようになりました。しかし、2つのライブラリのうち1つだけが機能しているようです。
私が使用する.proファイルは非常に単純です。
SUBDIRS += utils \
dataobjects
TEMPLATE = subdirs
これらの2つのサブフォルダーのそれぞれに、ライブラリのソースがあります。QMAKEを実行すると、makefileが生成され、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の後にライブラリ名が含まれていることに気付くでしょう。そのため、それらはlibutilsとlibdataobjectsになります。私はこれがなぜ起こっているのかを理解しようとしましたが、無駄になりました。
誰もが何が起こっているのか考えていますか?