GTK+配置,xp系统.编译器mingw

        gtk+配置.

系统: window 7家庭版(正版)

编译器:mingw

gcc版本:4.5


1. 下载gtk开发包,http://www.gtk.org/download/win32.php.由于gtk包含很多依赖包.所以推荐下载网址中的all-in-one bundles of the GTK+包,包含所有的基础和第三方包.

2. 解压安装,解压到c:\gtk.在环境变量中添加gtk地址,以便系统找到编译所需程序(例如pkg-config程序),动态库(.dll),在环境变量的系统变量PATH变量中添加c:\gtk\bin参数.

3. 测试.运行pkg-config --cflags gtk+-2.0,运行正常,运行pkg-demo进行程序运行测试.发现缺少很多DLL.下载gtk+ for runtime environment(http://sourceforge.net/projects/gtk-win/).获取其中的bin文件夹中的dll文件.拷贝到c:\gtk\bin中.至此,dll动态库依赖没有问题了

4. 编写gtk模板源代码,进行测试.

#include<gtk/gtk.h>

static void destroy(GtkWidget *widget,gpointer data);

int main(int argc,char* argv[])
{
	GtkWidget *window;
	gtk_init(&argc,&argv);
	window=gtk_window_new(GTK_WINDOW_TOPLEVEL);
	g_signal_connect(G_OBJECT(window),"destroy",G_CALLBACK(destroy),NULL);

	gtk_widget_show(window);
	gtk_main();
	return 0;
}
 
static void destroy(GtkWidget *widget,
		gpointer data)
{
	gtk_main_quit();
}
	

 编译:由于cmd环境中用gcc *.c  -o *  `pkg-config --cflags --libs gtk+-2.0`编译不行,可能不支持额外的命令吧(注意pkg-config前面的符号,为tab键位上方的`符号,并不是回车键前面的'符号).这个语句在linux中能运行.不知道怎么解决,只好另行其他.一种是运行pkg-config --flags --libs gtk+-2.0获取运行参数,再复制成gcc的编译参数(编译通过).

由于编译参数太多了,不便于以后重复利用,可以写成makefile.如下.保存运行mingw32-make命令编译.

main:gtk_test.c
gcc gtk_test.c -o main -mms-bitfields -IC:/opt/gtk/include/gtk-2.0 -IC:/opt/gtk/lib/gtk-2.0/include -IC:/opt/gtk/include/atk-1.0 -IC:/opt/gtk/include/cairo -IC:/opt/gtk/include/pango-1.0 -IC:/opt/gtk/include/glib-2.0 -IC:/opt/gtk/lib/glib-2.0/include -IC:/opt/gtk/include -IC:/opt/gtk/include/freetype2 -IC:/opt/gtk/include/libpng14 -LC:/opt/gtk/lib -lgtk-win32-2.0 -lgdk-win32-2.0 -latk-1.0 -lgio-2.0 -lgdk_pixbuf-2.0 -lpangowin32-1.0 -lgdi32 -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lglib-2.0 -lintl


另外一种办法是采用msys仿linux环境.我是在msys中运行编译通过.

                                  ------------------勿在浮沙筑高台

转载于:https://www.cnblogs.com/068XS228/archive/2011/11/06/2238049.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值