2011-12-01 15 views
1

私は複数のトピックから分かるように、Qt 4.7.4をARMシステムに埋め込みます。私はちょうど最後の問題が1つあります。 =/Qtを使用した独自のライブラリ:未定義参照

私はQtを使用しているライブラリを作成しましたが、.soファイルを取得するためにqmakeを使用してコンパイルしました。それは動作します。それから、私はこのライブラリを使うはずのソフトを書いて、古典的なものでコンパイルします。問題は、私がこのソフトをコンパイルしようとすると、私のライブラリから多くの "未定義の参照"が得られることです。実際にはすべてのQt要素が欠落しています。私はQtのLIBSのが発見されていないことを見た:QtのLIBSのがどこにあることが分かっていない場合

/usr/local/lib/star81xx-lsdk/tools/usr/bin/../lib/gcc/arm-linux-uclibc/4.2.3/../../../../arm-linux-uclibc/bin/ld: warning: libQtGui.so.4, needed by /home/jdl/workspace-install/MY_ARM_SYSTEM/fs/usr/lib/myLib.so, not found (try using -rpath or -rpath-link) 
/usr/local/lib/star81xx-lsdk/tools/usr/bin/../lib/gcc/arm-linux-uclibc/4.2.3/../../../../arm-linux-uclibc/bin/ld: warning: libQtNetwork.so.4, needed by /home/jdl/workspace-install/MY_ARM_SYSTEM/fs/usr/lib/myLib.so, not found (try using -rpath or -rpath-link) 
/usr/local/lib/star81xx-lsdk/tools/usr/bin/../lib/gcc/arm-linux-uclibc/4.2.3/../../../../arm-linux-uclibc/bin/ld: warning: libQtCore.so.4, needed by /home/jdl/workspace-install/MY_ARM_SYSTEM/fs/usr/lib/myLib.so, not found (try using -rpath or -rpath-link) 

はなぜMYLIBは良いコンパイルしたのですか?私はソフトのMakefileに手動で追加できますか?

ありがとうございます!

答えて

1

cmd-lineでコンパイルする場合は、-Lを追加して、libQtGui.so.4とその他のパスを指定してから、-lQtGui -lQtNetwork -lQtCoreを追加して、これらのライブラリがアプリケーションにリンクされるようにする必要があります。

  1. TARGET
  2. CONFIG
  3. QT
  4. LIBS

チェック:

0

あなたの.PROファイルに追加していないがたくさんあります。

0

実際には、ライブラリへのパスを追加し、libQtGui.so.4でlibQtGuiへのシンボリックリンクを作成するだけでした;