如何让 GTK includes 为 C++ 工作?

How do I get GTK includes to work for C++?

我正在尝试开始学习在 Ubuntu 17.04 64 位上使用 C++ 和 Eclipse CDT IDE 开发 GTK+ 应用程序 运行在尝试包含 GTK 库时遇到问题。我想知道为什么包含不起作用。我安装了 gtk 2.0 (DEV),并且最近安装了 gtk 3.0 以查看是否有帮助但无济于事。以下是我的代码:

#include <iostream>
#include <gtk/gtk.h>

int main()
{
    return 0;
}

我正在使用以下编译器标志:

-I/usr/include/gtk-3.0 -I/usr/include/glib-2.0 -O0 -g3 -Wall -c -
fmessage-length=0

我的编译器出现以下错误:

g++ -I/usr/include/gtk-3.0 -I/usr/include/glib-2.0 -O0 -g3 -Wall -c -
fmessage-length=0 -MMD -MP -MF"main.d" -MT"main.o" -o "main.o" 
"../main.cpp"
In file included from /usr/include/glib-2.0/glib/galloca.h:32:0,
             from /usr/include/glib-2.0/glib.h:30,
             from /usr/include/gtk-3.0/gdk/gdkconfig.h:13,
             from /usr/include/gtk-3.0/gdk/gdk.h:30,
             from /usr/include/gtk-3.0/gtk/gtk.h:30,
             from ../main.cpp:2:
/usr/include/glib-2.0/glib/gtypes.h:32:24: fatal error: glibconfig.h: 
No such file or directory
 #include <glibconfig.h>
                    ^
compilation terminated.
make: *** [main.o] Error 1
subdir.mk:18: recipe for target 'main.o' failed

在编译器标志上使用 pkg-config,您需要包含 gtk+-2.0 库及其依赖项。将此添加到您的编译器命令可解决问题。

在 Eclipse CDT 中,这可以在项目属性 -> C/C++ 构建 -> 设置 -> GCC C++ 编译器中找到,然后编辑 "Command".

g++ `pkg-config --cflags --libs gtk+-2.0`