如何让GTK包含在C ++中工作?

时间:2017-08-28 18:08:34

标签: c++ gtk eclipse-cdt glib ubuntu-17.04

我正在尝试使用带有Eclipse CDT IDE的C ++在Ubuntu 17.04 64位上开始学习开发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

1 个答案:

答案 0 :(得分:3)

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

在Eclipse CDT中,可以在Project Properties - &gt;中找到它。 C / C ++ Build - &gt;设置 - &gt; GCC C ++编译器,然后编辑“命令”。

select c.id, cm.member_id,
       case when existes cm.member_id = 5 as new_table
from old_table c left join
     new_table cm 
     on c.id = cm.id 
where c.type = 0 
order by c.id desc
limit 200