如何在Ubuntu下使用FLTK进行编译

时间:2014-09-09 20:19:43

标签: c++ ubuntu codeblocks fltk

我在Ubuntu 12.04 LTS下使用Code:blocks。我试图使用FLTK编译我的第一个程序,我得到以下错误。

Linking console executable: bin/Debug/<project name removed for security reasons>
/usr/bin/ld: cannot find -lXft
/usr/bin/ld: cannot find -lfontconfig
/usr/bin/ld: cannot find -lfontconfig
/usr/bin/ld: cannot find -lXinerama
collect2: ld returned 1 exit status
Process terminated with status 1 (0 minutes, 0 seconds)
4 errors, 0 warnings

我需要安装其他东西,还是需要添加的路径?

4 个答案:

答案 0 :(得分:1)

在UBUNTU 16.04上的Code :: Blocks 16.01中构建一个FLTK项目。

安装FLTK和另外两个包:

$ sudo apt install fltk1.3-dev
$ sudo apt install libxft-dev
$ sudo apt install libxinerama-dev

在此之后,您可以定义一个FLTK项目,并毫无问题地构建它。

如果您没有安装libxft-dev和libXinerama-dev软件包,您确实会收到有关缺少库(-lXft,-lfontconfig,-lXinerama)的错误消息。

使用fltk1.3-dev自动安装这些软件包的原因是因为它们只是“建议”,而不是硬依赖。这可以在这里看到:

package: libfltk1.3-dev

然而,Code:Blocks使用'fltk-config'标志来决定链接哪些库需要它们。

有关fltk-config标志的更多详细信息,请参阅:

Beginners Guide to fltk-config

为了完整性,这里有2个附加包的链接:

package: libxft-dev

package: libxinerama-dev

答案 1 :(得分:0)

FLTK使用的开发人员版本可能缺少http://packages.ubuntu.com/precise/libfltk1.3

您可以使用apt-get安装它们:libxft-dev,libfontconfig1-dev和libxinerama-dev。

答案 2 :(得分:0)

您显然没有在您的计算机上安装libXft,libfontconfig和libXinerama。如果您使用Ubuntu软件包管理器安装了FLTK,那么您应该在FLTK软件包中报告缺少的依赖项信息。

通常我们通过找出谁是软件包维护者并向该人发送电子邮件来做到这一点。

答案 3 :(得分:0)

我设法得到代码:块13.12使用Raspian在Raspberry Pi上使用FTLK。 CodeBlocks给了我同样的错误&#34;找不到-lXft&#34; &#34;找不到-lfontconfig&#34;并且&#34;找不到-lXinerama&#34;。

我使用了Raspian提供的添加/删除软件,并搜索了以下每个库libxft-dev,libfontconfig1-dev和libxinerama-dev,然后使用包管理器安装它们。当我重新启动代码块时,FLTK工作正常!