/ usr / bin / ld:找不到-lfreetype qt

时间:2009-03-14 16:50:00

标签: qt freetype

在Fedora 10上进行编译。

我第一次使用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'

7 个答案:

答案 0 :(得分:6)

您必须安装freetype-devel软件包。 devel包中包含头文件,在freetype的情况下,它应位于:/ usr / include / freetype。

答案 1 :(得分:5)

我在Ubuntu 8.10,QT 4.5上遇到了同样的问题。我用以下奇怪的黑客“修复”了它:

  1. 构建失败后,将QT lib目录重命名为其他内容 - 例如“mv ../../qtsdk-2009.01/qt/lib ../../ qtsdk-2009.01 / qt / lib2”

  2. 再次运行“make”,它将再次失败。

  3. 恢复lib目录

  4. 再次运行“make”,现在可以正常运行。

  5. 我不知道为什么会这样。

答案 2 :(得分:0)

安装freetype1-dev libgtk2.0-dev 它会编译好。

答案 3 :(得分:0)

在Ubuntu 9.04上,安装freetype1-dev& libgtk2.0-dev解​​决了这个问题。

但是为了让罗斯提到的黑客工作的每个人都感到惊讶,我真的很想知道如何以及为什么......我正在研究QTcreator的源代码,看看我能否找到原因。如果有人知道原因,请告诉我。

谢谢..

答案 4 :(得分:0)

刚刚安装了新的ubuntu 9.04(dell D820) - 没有安装qt creator - 同样的问题

使用S R中的选项,因为它需要从包管理器安装的libgtk2.0-dev(这也将加载freetype6)。

如果您还从包管理器安装qt设计器,它将会看到相同的效果(它将安装所有正确的包

问候 尼科

答案 5 :(得分:0)

我和Elive,freetype1-dev和libgtk2.0-dev有同样的问题,对于/ usr / bin / ld:找不到-lSM的东西xorg-dev修复了这个问题。

答案 6 :(得分: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',再次编译程序时,您会发现错误消失了。您也可以解决错误。祝你好运!