Eclipse makefile 项目中的 Gtkmm:“无法解决”

Posted

技术标签:

【中文标题】Eclipse makefile 项目中的 Gtkmm:“无法解决”【英文标题】:Gtkmm in Eclipse makefile project: "could not be resolved" 【发布时间】:2018-02-11 16:58:16 【问题描述】:

我正在尝试将使用 Gtkmm3.0 的自定义 C++ 项目迁移到 Ubuntu 16.04 上的 Eclipse (Oxygen)。该项目有自己的 Makefile 并且可以从 Eclipse 中的终端正常构建。到目前为止我还没有做的是告诉索引器关于 Gtkmm,我得到了很多这些(这很烦人):

当我将鼠标悬停在小红虫上时,它会说:

Type 'Cairo::RefPtr<Cairo::Context>' could not be resolved.

我已经对此进行了很多谷歌搜索,但到目前为止一无所获,因为所有答案似乎都假设项目的构建工具由 Eclipse 管理(例如,参见 this 或 this)。就我而言,我有一个 makefile 项目 而不是 可执行项目,因此我无法使用某些选项。例如,第一个链接谈到了配置构建器:

我们必须添加所有这些目录。在 Eclipse 上选择 Project->Properties 菜单选项。从 Tool Settings 选项卡中选择 C/C++ Build->Settings 属性页和 GNU C++ Compiler->Directories。现在我们必须添加所有目录。就我而言(Makefile 项目),那里只有两个选项卡可用:二进制解析器和错误解析器。

如何告诉 Eclipse 索引器我正在使用 Gtkmm3.0?

【问题讨论】:

【参考方案1】:

找到适合我的解决方案:

    打开终端并输入:

    pkg-config --cflags gtkmm-3.0

您将看到包含目录的列表(以-I 开头)。这些是您要在 Eclipse 中添加的目录,以便它可以在编辑器中找到 Gtkmm 符号。

    在 Eclipse 中,转到:

    Project -&gt; Properties -&gt; C++ General -&gt; Paths and Symbols

Includes 选项卡中,选择GNU C++。您需要在此处添加添加在步骤 1 中找到的包含目录。没有自动执行此操作的方法,您必须一一输入。

一个可以节省您一些时间的技巧是手动编辑 Eclipse 项目设置 XML 文件并将包含目录直接添加到 XML 文件中。到最后,您应该有如下所示的内容:

对我有用,希望对你有帮助!

【讨论】:

以上是关于Eclipse makefile 项目中的 Gtkmm:“无法解决”的主要内容,如果未能解决你的问题,请参考以下文章

“Gtk-WARNING **:无法打开显示:”在 Eclipse 中运行 gtkmm 项目时

我应该使用啥 makefile 来构建 gtk-3-examples 应用程序?

使用Eclipse进行Makefile项目

从命令行构建 Eclipse Makefile 项目

使用 Makefile 的旧 C++ 项目 .. 迁移到 Eclipse IDE?

Makefile 项目中的 CLion 索引