2009-03-14 26 views
3

Fedora 10でコンパイルしてください。/usr/bin/ld:-lfreetype qtを見つけることができません

私はqtをはじめて使用しています。私はすべてのデフォルト設定で簡単なGUIアプリケーションを作成することから始めました。プロジェクトを構築しようとしたときに、次のエラーメッセージが表示されます。

しかし、-lfreetypeの検索を実行したとき、次のディレクトリにあります。 /usr/lib/libfreetype.so.6 /usr/lib/libfreetype.so.6.3.18

この問題を解決する方法はありますか?何かアドバイス

Running build steps for project test1... 
Creating gdb macros library... 
Configuration unchanged, skipping QMake step. 
Starting: /usr/bin/make debug -w 
make: Entering directory `/home/steve/projects/qt/test1/test1' 
/usr/bin/make -f Makefile.Debug 
make[1]: Entering directory `/home/steve/projects/qt/test1/test1' 
g++ -Wl,-rpath,/opt/qtsdk-2009.01/qt/lib -o test1 debug/main.o 
    debug/mainwindow.o debug/moc_mainwindow.o 
    -L/opt/qtsdk-2009.01/qt/lib 
    -lQtGui -L/opt/qtsdk-2009.01/qt/lib -L/usr/X11R6/lib 
    -pthread -lfreetype 
    -lgobject-2.0 -lSM -lICE -pthread -pthread 
    -lXrender -lfontconfig 
    -lXext -lX11 -lQtCore -lm -pthread -lgthread-2.0 -lrt 
    -lglib-2.0 -ldl -lpthread 
/usr/bin/ld: cannot find -lfreetype 
collect2: ld returned 1 exit status 
make[1]: *** [test1] Error 1 
make[1]: Leaving directory `/home/steve/projects/qt/test1/test1' 
make: *** [debug] Error 2 
make: Leaving directory `/home/steve/projects/qt/test1/test1' 
Exited with code 2. 
Error while building project test1 
When executing build step 'Make' 

答えて

6

ため

多くのおかげであなたはfreetypeの-develのパッケージをインストールする必要があります。 develパッケージには、/ usr/include/freetypeにあるヘッダファイルが含まれています。

+0

おかげで、私はこの今 は/ usr/binに/ LDを得る:-lgobject-2.0 collect2はを見つけることができません:*** [TEST1]エラー1 メイク[1:ldは メイク[1] 1つの終了ステータスを返しました]:ディレクトリ '/ home/steve/projects/qt/test1/test1 'を残す make:*** [デバッグ]エラー2 make:ディレクトリ/ home/steve/projects/qt/test1/test1のままにする 終了コード2を使用してください。 – ant2009

+0

libgobject-2.0またはgobject-2.0パッケージを追加する必要があると思います(Fedoraのパッケージの正確な名前はわかりません)。 – Node

+0

yum install glib2-devel これはうまくいきました。 しかし、今私はこれを得ています: /usr/bin/ld:-lSMを見つけることができません 私はGoogleに試みましたが、インストールするパッケージがわかりません。 – ant2009

5

Ubuntu 8.10、QT 4.5でも同じ問題がありました。ビルドが失敗した後、他の何かにQT libディレクトリの名前を変更、

  1. - 例えば:私は、次の奇妙なハックでそれを「固定しました」 "mv ../../qtsdk-2009.01/qt/lib ../../qtsdk-2009.01/qt/lib2"

  2. もう一度 "make"を実行すると、再び失敗します。

  3. ランが再び "作る"、そして今それが動作libディレクトリを復元します。

なぜこのようなことが起こるのかわかりません。

+0

この修正プログラムは本当にうまく動作します。 –

+0

が私のために働いた。なぜ私は不思議です。 – rupello

+0

うん...私のために働いた。それは変な奇妙なことだ。 – AgentLiquid

0

freetype1-dev libgtk2.0-dev をインストールすると、コンパイルが正常に行われます。

0

Ubuntu 9.04では、freetype1-dev & libgtk2.0-devをインストールするとこの問題は解決します。

しかし、Rossに言及されたハックも驚くべきことですが、私は本当にどのように、そしてなぜそれを知りたいのでしょうか... MはQTcreatorのソースコードを調べて、理由を知ることができるかどうかを確認します。いずれかの理由が既に分かっている場合は、私に知らせてください。他にインストールされqtの作成者は何も - - それはlibgtk2.0-devのを必要とするために動作SRから同じ問題

使用オプション(

おかげで..

+1

質問ではなく、回答として質問してください。 – Welbog

0

ただ、新たに、新鮮なUbuntuの9.04(DellのD820)をインストールパッケージマネージャからインストールされたfreetype6もロードされます)。

あなたはまた、パッケージマネージャからQTデザイナーをインストールするかどうかを確認するのと同じ効果が(それはすべての権利のパッケージをインストールします

よろしく ニコ

0

私はEliveに、freetype1-devのとlibgtk2と同じ問題を抱えていました。 0-devと/ usr/bin/ldの場合:-lSMのものが見つかりませんxorg-devは問題を修正しました。

0

最初に確認する必要があるのは、コンピュータにlibfreetype.soがインストールされていることです。 'locate libfreetype.so'コマンドを実行すると、結果に '/usr/lib/libfreetype.so.6'があることがあります。コンパイルソフトウェアは共有ライブラリとしてlibfreetype.so.6を識別できないため、ターゲットへのシンボリックリンクを作成する必要があります。コマンド 'ln -s /usr/lib/libfreetype.so.6/usr/lib/libfreetype.so'を使用すると、プログラムを再度コンパイルすると、エラーが発生していることがわかります。エラーを解決することも可能です。がんばろう!

関連する問題