EclipseCDT>kmm:“…无法解析”,但编译并运行 我在C++中用GTKMM编码Eclipse CDT。通过向编译器选项中添加pkg config gtkmm-3.0-cflags-libs,我成功地设置了Eclipse,使其能够正确编译代码。所以它运行起来,并且工作。但在编辑器中,所有与gtk相关的内容都用红色下划线,当我将鼠标悬停在这些部分上时,它会说:无法解析“gtk::Main”类型。所以我可以这样编码,但是自动完成不起作用,屏幕上到处都是红线,这真的很痛苦。我怎样才能解决这个问题

EclipseCDT>kmm:“…无法解析”,但编译并运行 我在C++中用GTKMM编码Eclipse CDT。通过向编译器选项中添加pkg config gtkmm-3.0-cflags-libs,我成功地设置了Eclipse,使其能够正确编译代码。所以它运行起来,并且工作。但在编辑器中,所有与gtk相关的内容都用红色下划线,当我将鼠标悬停在这些部分上时,它会说:无法解析“gtk::Main”类型。所以我可以这样编码,但是自动完成不起作用,屏幕上到处都是红线,这真的很痛苦。我怎样才能解决这个问题,eclipse,autocomplete,gtk,eclipse-cdt,gtkmm,Eclipse,Autocomplete,Gtk,Eclipse Cdt,Gtkmm,我的代码如下所示: #include <gtkmm-3.0/gtkmm.h> #include <iostream> using namespace std; int main(int argc, char *argv[]) { Gtk::Main kit(true); Gtk::Box* box = new Gtk::Box(); ... 然而,我认为这与代码无关。因为它在代码::块中工作得很好,并且代码完成和所有功能都很好。但是我更喜

我的代码如下所示:

#include <gtkmm-3.0/gtkmm.h>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    Gtk::Main kit(true);

    Gtk::Box* box = new Gtk::Box();

    ...
然而,我认为这与代码无关。因为它在代码::块中工作得很好,并且代码完成和所有功能都很好。但是我更喜欢Eclipse而不是C::B

//丹尼尔

从菜单中选择项目->属性以打开属性窗口。然后在左侧的选择器中,转到C/C++常规->路径和符号。您将看到包含目录的列表。查看pkg config-cflags gtkmm-3.0的输出,并确保所有提到的目录也在该列表中


请注意,这些是Eclipse的语法检查器查找包含文件的路径。您的代码可以很好地编译,因为编译器正在以应有的方式查找这些文件。

正如Ptomto所说,必须配置路径。一个非常简单的方法是使用插件。 安装后,只需在中选择gtkmm-3.0。 其余的将由插件完成。 希望这张照片有帮助。
注意:屏幕截图显示了GTK-2.0的配置。您需要GTKMM-3.0。

非常感谢!它似乎工作得很好。然而,有没有一种简单快捷的方法来添加它们?我必须对所有gtkmm项目重复这一点吗?抱歉,我还没有找到更好的方法来自动或轻松地完成它。您可以按照答案中的建议展开pkg config-cflags gtkmm-3.0,并在eclipse的XML项目文件中手动添加输出。使用矩形选择Shift+Alt+A来启用,可以非常快地完成。我为此制作了完整的程序。