Ubuntu下GTK
来源:互联网 发布:手机联发科软件 编辑:程序博客网 时间:2024/06/13 09:42
安装过程:
1、配置安装gcc/g++/gdb/make 等基本编程工具(必须装好)
刚装好的Ubuntu系统中已经有GCC了,但是这个GCC几乎什么文件都不能编译,因为缺少一些必须的头文件,所以要安装build-essential这个软件包。 可以在新立得里面搜索build-essential或输入下面命令:
apt-get install build-essential 或者 sudo apt-get install build-essential
安装完成之后,可以写一个简单的HelloWorld.c程序来验证一下是否已经装好了GCC环境(testc.c):。
#include<stdio.h> int main() { printf("Hello MM!\n"); return 0; }
$ gcc testc.c -o testc
$ ./testc
2、安装GTK/GNOME开发环境
安装GTK环境只要安装一个libgtk2.0-dev就可以了,而安装gnome开发环境的话,需要装gnome-core-devel,它包含GTK开发包。 但在一般情况下,我们需要有一个ide开发环境,需要帮助文件,于是我们安装:
apt-get install gnome-devel gnome-devel-docs
或者
sudo apt-get install gnome-devel gnome-devel-docs
安装完成之后可以写个简单的程序来测试一下GTK是否安装成功,比如说这个(gtkhello.c):
#include <gtk/gtk.h> int main(int argc,char *argv[]) { GtkWidget *window; GtkWidget *label; char title[]="test"; char text[]="This is the test."; gtk_init(&argc, &argv); window=gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(window), title); gtk_widget_set_usize(GTK_WINDOW (window),300,150); label=gtk_label_new(text); gtk_container_add(GTK_CONTAINER(window), label); gtk_widget_show(window); gtk_widget_show(label); gtk_main(); return 0; }
控制台中输入:
$ gcc gtkhello.c -o gtktest `pkg-config --cflags --libs gtk+-2.0`
$ ./gtktest
运行结果:
注意:“gcc gtkhello.c -o gtktest `pkg-config --cflags --libs gtk+-2.0`”,中的“`”,不是分号是“Tab”键上边那个键
参考网址:http://zhidao.baidu.com/question/278349378.html
若报:
“Gtk-WARNING**: 无法在模块路径中找到主题引擎:“pixmap”?”错误
无法在模块路径中找到主题引擎:“pixmap”
出现这个错误的解决方案
sudo apt-get install gtk2-engines-pixbuf
------------------------------------------------------------------------分割线---------------------------------------------------------------------------------------------------------
我利用此方法成功在UBUNTU 10.04下安装GTK 2.20.1。
一、安装
1、安装gcc/g++/gdb/make 等基本编程工具
$sudo apt-get install build-essential
2、安装 libgtk2.0-dev libglib2.0-dev 等开发相关的库文件
$sudo apt-get install gnome-core-devel
3、用于在编译GTK程序时自动找出头文件及库文件位置
$sudo apt-get install pkg-config
4、安装 devhelp GTK文档查看程序
$sudo apt-get install devhelp
5、安装 gtk/glib 的API参考手册及其它帮助文档
$sudo apt-get install libglib2.0-doc libgtk2.0-doc
6、安装基于GTK的界面GTK是开发Gnome窗口的c/c++语言图形库
$sudo apt-get install glade libglade2-dev 或者 $sudo apt-get install glade-gnome glade-common glade-doc
7、安装gtk2.0 或者 将gtk+2.0所需的所有文件统通下载安装完毕
$sudo apt-get install libgtk2.0-dev
或者 $sudo apt-get install libgtk2.0*
二、查看GTK库版本
1、查看1.2.x版本
$pkg-config --modversion gtk+
2、查看 2.x 版本
$pkg-config --modversion gtk+-2.0
3、查看pkg-config的版本
$pkg-config --version
4、查看是否安装了gtk
$pkg-config --list-all | grep gtk
三、测试程序
//Helloworld.c #include <gtk/gtk.h>int main(int argc,char *argv[]){ GtkWidget *window;GtkWidget *label; gtk_init(&argc,&argv); /* create the main, top level, window */window = gtk_window_new(GTK_WINDOW_TOPLEVEL);/* give it the title */gtk_window_set_title(GTK_WINDOW(window),"Hello World");/* connect the destroy signal of the window to gtk_main_quit* when the window is about to be destroyed we get a notification and* stop the main GTK+ loop */g_signal_connect(window,"destroy",G_CALLBACK(gtk_main_quit),NULL);/* create the "Hello, World" label */label = gtk_label_new("Hello, World");/* and insert it into the main window */ gtk_container_add(GTK_CONTAINER(window),label); /* make sure that everything, window and label, are visible */ gtk_widget_show_all(window); /* start the main loop, and let it rest until the application is closed */ gtk_main(); return 0;}
四、编译运行
1、编译
$gcc -o Helloworld Helloworld.c `pkg-config --cflags --libs gtk+-2.0`
2、运行
$./Helloworld
- Ubuntu下安装GTK+
- Ubuntu下安装GTK+
- Ubuntu 下安装GTK+
- Ubuntu 下安装GTK
- Ubuntu 下安装GTK
- Ubuntu下安装GTK+
- ubuntu下GTK安装
- ubuntu下安装gtk+
- Ubuntu下GTK
- Ubuntu下安装GTK
- Ubuntu下安装GTK
- Ubuntu下安装GTK
- Ubuntu 下安装GTK
- Ubuntu下安装GTK
- Debian/Ubuntu 下安装GTK
- Ubuntu下GTK的安装
- Ubuntu下GTK的安装
- Ubuntu下GTK的安装
- C/C++的内存占用分以下五种情况
- 转《七年之前和七年之后》-祭奠高考
- c# seal的用法
- --------------------------------------MYSQL批量修改字段类型---------------------------------
- JPA EntityManager的四个主要方法 ——persist,merge,refresh和remove
- Ubuntu下GTK
- 设计模式之-----代理模式
- 装饰者模式
- Oracle Decode函数详解
- 设计模式之适配器模式
- javascript 兼容性汇总
- php 序列化 和 json 数据的比较
- Oracle Spatial 个人资质认证和公司资质认证
- Android中如何使用 address2line