2009-03-14 7 views
3

Compilation sur Fedora 10./usr/bin/ld: ne peut pas trouver -lfreetype qt

J'utilise qt pour la première fois. J'ai commencé par créer une application graphique simple avec tous les paramètres par défaut. Lorsque j'ai essayé de construire le projet, j'ai reçu les messages d'erreur suivants.

Cependant, quand j'ai fait une recherche sur -lfreetype je l'ai trouvé dans le répertoire suivant. /usr/lib/libfreetype.so.6 /usr/lib/libfreetype.so.6.3.18

est-il de toute façon de résoudre ce problème?

Un grand merci pour tous les conseils

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' 

Répondre

6

Vous devez installer le paquet freetype-devel. Le paquet devel contient les fichiers d'en-tête qui, dans le cas de freetype, se trouvent à:/usr/include/freetype.

+0

Merci, je reçois maintenant ce /usr/bin/ld: ne peut pas trouver -lgobject-2.0 collect2: ld retourné 1 état de sortie make [1]: *** [test1] Erreur 1 make [1 ]: Quitter le répertoire '/ home/steve/projets/qt/test1/test1 ' make: *** [déboguer] Erreur 2 make: Quitter le répertoire'/home/steve/projets/qt/test1/test1' Sortie avec le code 2. – ant2009

+0

Je pense que vous devez ajouter le paquet libgobject-2.0 ou gobject-2.0 (Ne pas connaître le nom exact du paquet pour Fedora.). – Node

+0

yum installer glib2-devel Cela a fonctionné. Cependant, maintenant je reçois ceci: /usr/bin/ld: ne peut pas trouver -lSM J'ai essayé de google mais je ne sais pas quel paquet installer. – ant2009

5

J'ai eu le même problème sur Ubuntu 8.10, QT 4.5. I « fixe » avec le hack bizarre suivant:

  1. Après la génération échoue, renommer le répertoire lib de l'intervalle QT à autre chose - par exemple "mv ../../qtsdk-2009.01/qt/lib ../../qtsdk-2009.01/qt/lib2"

  2. Exécutez "make" à nouveau, et il échouera à nouveau.

  3. Restaurez le répertoire lib

  4. Run "faire" à nouveau, et maintenant il fonctionne.

Je ne sais pas pourquoi cela se produit.

+0

Cette correction fonctionne très bien. –

+0

a travaillé pour moi. Je me demande pourquoi. – rupello

+0

Yup ... a travaillé pour moi aussi. C'est bizarre. – AgentLiquid

0

Installez freetype1-dev libgtk2.0-dev et il va compiler ok.

0

Sous Ubuntu 9.04, l'installation de freetype1-dev & libgtk2.0-dev résout ce problème. Mais pour étonner tout le monde, le bidouillage mentionné par Ross fonctionne aussi, j'aimerais vraiment savoir comment et pourquoi .. M regardant dans le code source de QTcreator pour voir si je peux trouver la raison pour laquelle. Si quelqu'un connaît déjà la raison, s'il vous plaît faites le moi savoir.

Merci ..

+1

Posez des questions sous forme de questions, pas de réponses. – Welbog

0

juste installé un nouveau frais ubuntu 9.04 (Dell D820) - rien créateur qt installé autre - même problème

option d'utilisation de SR qui fonctionne parce qu'il a besoin libgtk2.0-dev (cela chargera également freetype6) installé à partir du gestionnaire de paquets.

même effet, vous verrez si vous installez également concepteur pintes de gestionnaire de paquets (il installera tous les bons paquets

qui concerne les Nico

0

J'ai eu même des problèmes avec Elive, freetype1-dev et libgtk2. 0-dev et pour/usr/bin/ld: impossible de trouver -lSM chose xorg-dev a corrigé le problème.

0

La première chose à faire est que libfreetype.so soit installé sur votre ordinateur. Utilisez la commande 'locate libfreetype.so', et vous trouverez peut-être un '/usr/lib/libfreetype.so.6' dans le résultat. Le logiciel de compilation ne peut pas identifier libfreetype.so.6 comme une bibliothèque partagée, vous devez donc créer un lien symbolique vers la cible. Utilisez la commande 'ln -s /usr/lib/libfreetype.so.6 /usr/lib/libfreetype.so', lorsque vous compilez à nouveau le programme, vous verrez que l'erreur est partie. Vous pouvez également résoudre les erreurs probables. Bonne chance!

Questions connexes