如何在 Ubuntu 下使用 FLTK 编译

Posted

技术标签:

【中文标题】如何在 Ubuntu 下使用 FLTK 编译【英文标题】:How to compile with FLTK under Ubuntu 【发布时间】:2014-09-09 20:19:42 【问题描述】:

我在 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

还有什么我需要安装的,或者我需要添加的路径吗?

【问题讨论】:

【参考方案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

【讨论】:

【参考方案2】:

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

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

【讨论】:

【参考方案3】:

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

通常我们通过找出谁是包维护者来做到这一点,然后向那个人发送电子邮件。

【讨论】:

【参考方案4】:

我设法获得代码:blocks 13.12 使用 Raspian 在 Raspberry Pi 上使用 FTLK。 CodeBlocks 给了我同样的错误“找不到 -lXft”、“找不到 -lfontconfig”和“找不到 -lXinerama”。

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

【讨论】:

以上是关于如何在 Ubuntu 下使用 FLTK 编译的主要内容,如果未能解决你的问题,请参考以下文章