php gtk2 使用教程,教程:使用gnu autotools系列工具构建gtk+应用程序

以一个例子介绍具体步骤:

测试环境:Win7+MinGW(linux更不用说肯定可以了)

1.新建主程序demo.c:

#include

int main(int argc, char * argv[]){

GtkWidget * window;

gtk_init(&argc, &argv);

window = gtk_window_new(GTK_WINDOW_TOPLEVEL);

g_signal_connect_swapped(G_OBJECT(window), "destroy",

G_CALLBACK(gtk_main_quit), G_OBJECT(window));

gtk_widget_show(window);

gtk_main();

return 0;

}

2.使用autoscan扫描源代码,生成configure.scan文件:

./autoscan

生成的configure.scan文件如下:

# -*- Autoconf -*-

# Process this file with autoconf to produce a configure script.

AC_PREREQ([2.63])

AC_INIT([FULL-PACKAGE-NAME], [VERSION], [BUG-REPORT-ADDRESS])

AC_CONFIG_SRCDIR([demo.c])

AC_CONFIG_HEADERS([config.h])

# Checks for programs.

AC_PROG_CC

# Checks for libraries.

# Checks for header files.

# Checks for typedefs, structures, and compiler characteristics.

# Checks for library functions.

AC_OUTPUT

3.将configure.scan重命名为configure.ac,修改和添加必要的信息,修改后文件如下:

# -*- Autoconf -*-

# Process this file with autoconf to produce a configure script.

AC_PREREQ([2.63])

AC_INIT([demo], [1.0], [tsl0922@gmail.com])// 软件名称、版本号、作者邮箱

AM_INIT_AUTOMAKE(demo, 1.0) // Automake所必备的宏,必须添加

AC_CONFIG_SRCDIR([demo.c]) // 源文件名

AC_CONFIG_HEADERS([config.h]) // config文件,为autoheader准备

# Checks for programs.

AC_PROG_CC// 编译器,默认GCC

# Checks for libraries.

# Checks for header files.

# Checks for typedefs, structures, and compiler characteristics.

# Checks for library functions.

AC_CONFIG_FILES([Makefile])// 指定输出文件名为Makefile

AC_OUTPUT

4.

(1)使用aclocal扫描configure.ac,生成aclocal.m4文件:aclocal

(2)使用autoconf工具将configure.ac中的宏展开,生成configure脚本:autoconf

(3)使用autoheader生成config.h.in文件:autoheader

(4)使用automake生成Makefile.in文件:automake --add-missing

合并为一个脚本:autogen.sh

aclocal

autoconf

autoheader

automake --add-missing

5.手工编写Makefile.am文件:

AUTOMAKE_OPTIONS = foreign

INCLUDES = `pkg-config --cflags gtk+-2.0` //包含gtk库

LIBS = `pkg-config --libs gtk+-2.0` //链接gtk库文件

bin_PROGRAMS = demo

demo_SOURCES = demo.c

6.执行autogen.sh,并运行configure生成Makefile:

./autogen.sh

./configure

7.生成最终程序文件:

make

最终生成的文件如下:

7a3535db6ffad88d4a2c461c503d25f6.png

运行程序:

./demo

运行结果:

917410ee383d1b13aa3264e8ed769347.png

使用Automake生成的Makefile文件相当全面,支持的预设命令有:

1.编译:make

2.安装:make install

3.卸载:make uninstall

4.清理:make clean

附:简单说下windows下gtk+开发环境搭建:

下载MinGW:

我使用的是已经有的Mplayer WW的MinGW编译环境,也可以到官网去下载。我用的环境下载地址:

下载gtk+:

把gtk解压到一个路径如C:\gtk,并添加到环境变量中(我是直接把gtk解压到MinGW目录中覆盖相同文件)

打开MinGW命令窗口,执行pkg-config --cflags gtk+-2.0,看下有没有正确输出gtk库的包含路径,再执行下gtk-demo,看是不是可以运行,这是一个gtk的示例程序,可以拿来学习,有源码的。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值