如何在 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 编译的主要内容,如果未能解决你的问题,请参考以下文章

我如何拆分 fltk 代码和定义

如何构建 FLTK 以与 Netbeans (Windows) 一起使用

如何将 fltk 文件与其他文件一起编译?

编译 Fast Light Toolkit (FLTK) 2.0 以与 fastHOG 一起使用

如何在 MinGW 中使用 FLTK 1.1 dll?

Ubuntu 18.04 上的 FLTK:在 Dock 上设置图标的弹出文本