为gtkmm和gtk+配置eclipse;在ubuntu上 我试图为C++配置最新的Eclipse,以便与GTKMM一起工作。如何从Eclipse中删除错误,例如未解析的符号和gtkmm头文件

为gtkmm和gtk+配置eclipse;在ubuntu上 我试图为C++配置最新的Eclipse,以便与GTKMM一起工作。如何从Eclipse中删除错误,例如未解析的符号和gtkmm头文件,ubuntu,eclipse-cdt,gtk3,gtkmm,eclipse-oxygen,Ubuntu,Eclipse Cdt,Gtk3,Gtkmm,Eclipse Oxygen,我能够使用g++和pkg config标志从命令行编译。如何从EclipseIDE中执行相同的操作 我正在使用最新的IDE2019版本。我已经使用gtkmm和Eclipse有一段时间了。下面是我如何设置它以使两者正常工作的。为了说明这一点,我将从。在本例中,您有一个包含两个文件的项目: simple.cc:这是一个简单的源代码文件 #include <gtkmm.h> int main(int argc, char *argv[]) { auto app = Gtk::

我能够使用g++和pkg config标志从命令行编译。如何从EclipseIDE中执行相同的操作


我正在使用最新的IDE2019版本。

我已经使用gtkmm和Eclipse有一段时间了。下面是我如何设置它以使两者正常工作的。为了说明这一点,我将从。在本例中,您有一个包含两个文件的项目:

simple.cc
:这是一个简单的源代码文件

#include <gtkmm.h>

int main(int argc, char *argv[])
{
  auto app =
    Gtk::Application::create(argc, argv,
      "org.gtkmm.examples.base");

  Gtk::Window window;
  window.set_default_size(200, 200);

  return app->run(window);
}
这两个文件位于同一目录下。据我所知,您可以从命令行进行构建。因此,运行
make

make
应该把这个项目建得很好。现在,为了从Eclipse处理这个项目,我们将首先创建一个Makefile项目:
File->New->Makefile项目,它来自现有代码。填写信息(确保选择上述文件所在的目录)。此时,您应该有一个包含两个文件的Eclipse项目,但在
simple.cc
中到处都有错误:

问题是Eclipse不知道gtkmm及其包含。我们必须为他找到他们。为此,打开一个终端,键入以下内容:

echo `pkg-config gtkmm-3.0 --cflags --libs`
输出将如下所示:

-pthread -I/usr/include/gtkmm-3.0 -I/usr/lib/x86_64-linux-gnu/gtkmm-3.0/include ...
在这种混乱中,有许多子字符串看起来像
-I/some/path
,像
-I/usr/include/gtkmm-3.0
-I/usr/lib/x86_64-linux-gnu/sigc++-2.0/include
。这些包括文件位置。这就是Eclipse所需要的!我们需要做的是获取所有这些位置并将它们提供给Eclipse。要执行此操作,请转到
项目->属性->C/C++常规->路径和符号
。在语言列表中,选择GNU C++
。在
包含目录
部分中,添加所有这些路径(是的,这非常痛苦。您可以从cproject文件手动添加它们,这可以节省一些时间,但我在这里不这样做,因为它更容易出错)。你应该得到类似于:

完成后,单击应用并关闭。错误可能不会消失,您可能必须重新编制项目索引。要执行此操作,请右键单击它,转到
Index->Rebuild
。然后错误应该消失(可能需要一些时间)

此时,编辑器中不再有错误,您可以从Eclipse中生成:
Project->buildproject

希望你能让它工作

-pthread -I/usr/include/gtkmm-3.0 -I/usr/lib/x86_64-linux-gnu/gtkmm-3.0/include ...