需要了解ubuntu下GTK+配置

ubuntu下gtk的安装
apt-get install build-essential #这将安装gcc/g++/gdb/make 等基本编程工具
apt-get install gnome-core-devel #这将安装 libgtk2.0-dev libglib2.0-dev 等开发相关的库文件
apt-get install pkg-config #用于在编译gtk程序时自动找出头文件及库文件位置
apt-get install devhelp #这将安装 devhelp gtk文档查看程序
apt-get install libglib2.0-doc libgtk2.0-doc #这将安装 gtk/glib 的api参考手册及其它帮助文档
apt-get install glade libglade2-dev #这将安装基于gtk的界面gtk是开发gnome窗口的c/c++语言图形库。
apt-get install libgtk2.0*, gtk+2.0所需的所有文件统通下载安装完毕。
安装完成后我们也同样做个测试程序。
#include
void hello(gtkwidget *widget,gpointer data)
{
g_print(hello ubuntu!\n);
}
gint delete_event(gtkwidget *widget,gdkevent *event,gpointer data)
{
g_print (delete event occurred\n);
return(true);
}
void destroy(gtkwidget *widget,gpointer data)
{
gtk_main_quit();
}
int main( int argc, char *argv[] )
{
gtkwidget *window;
gtkwidget *button;
gtk_init (&argc, &argv);
window=gtk_window_new (gtk_window_toplevel);
gtk_signal_connect (gtk_object(window),delete_event,gtk_signal_func(delete_event),null);
gtk_signal_connect (gtk_object (window), destroy,gtk_signal_func (destroy), null);
gtk_container_set_border_width (gtk_container (window), 10);
button = gtk_button_new_with_label (hello ubuntu!);
gtk_signal_connect (gtk_object (button), clicked,gtk_signal_func (hello), null);
gtk_signal_connect_object (gtk_object (button), clicked,gtk_signal_func
(gtk_widget_destroy),gtk_object (window));
gtk_container_add (gtk_container (window), button);
gtk_widget_show (button);
gtk_widget_show (window); /*显示一个窗口*/
gtk_main(); /*进入主循环*/
return(0);
}
pkg-config是一个用来管理包的程序,在控制台输入pkg-config --cflags --libs gtk+-2.0,可以发现输出的文本包括了gcc编译gtk+2.0所需要的所有选项(头文件目录和库文件)。
这里有一点需要注意, gcc test.c `pkg-config --cflags --libs gtk+-2.0`, pkg-config --cflags --libs gtk+-2.0两侧的引号并不是真正的引号,而是键盘数字件那一行,最左边的那个字符。如果错用了单引号,gcc无法使用 pkg-config --cflags --libs gtk+-2.0产生的文本作为编译选项。构造程序。
用下面命令编译运行:
$ gcc gtkhello.c -o gtktest `pkg-config --cflags --libs gtk+-2.0`
$ ./gtktest
会显示一个带有一个按钮的窗口,点击按钮以后窗口关闭,命令行显示hello ubuntu。

嵌入式数据库mSQL在Linux下的应用
跃然科技:首款跃然人工智能交易基金成立
威马汽车协同紫光、芯鑫强化车载芯片在汽车智能网联领域的深入应用
3D打印或将打破汽车设计常规 重新定义汽车设计
小米或于11月份推出电竞显示屏?
需要了解ubuntu下GTK+配置
11种深度学习框架影响力对比
做好PCB电路板接地的方法
浅谈电瓶修复技术,电池组是否存在着累计容差
新红旗历时7个月打造的全新智能工厂于18年12月落成,立志将概念变为现实
低噪声静音开关电源架构简化EMI设计
再见,3G TD-SCDMA已完成历史使命,退网只是时间问题
易智瑞CIM平台项目成功入选“数字孪生与城市大脑优秀案例”
基于PXA310平台的温湿度传感器设计与实现方法
小米5C要哭了,该死的小米6抢不到骁龙的835来抢我的松果处理器
8711-01加速度传感器在风力发电轴承监测应用
什么是电磁干扰源?电磁干扰滤波器有些什么规格?
LTC4120 400mA无线电源接收器降压型电池充电器
研究人员研发新型手部追踪设备,创造性使用热成像方案
基于MSP430的无极性恒流电刺激器的设计