第一个GTK程序:中国农历 之二
2013-04-21 00:54
621 查看
在完成代码之后,我们开始尝试准备编译环境
glade-2在生成代码时,为我们考虑好了,自动生成了configure.in及autogen.sh。
依道理来说,只要稍做修改,我们就可以编译/链接再运行了。
但由于glade-2早在2007年就停止开发了,所以还得我们自己来动手。
这里面要用到的就是一系列工具:autoconf/automake/intltool等等。
现在的autoconf认的是configure.ac文件了。这个文件需要通过扫描代码重新生成,运行autoscan即可。生成的autoscan.log是日志信息,删除即可
生成的configure.scan就是我们要的东西,基于这个文件基础之上进行修改
configure.scan最初的内容
configure.scan进行修改之后就可以改名为configure.ac,替换glade-2生成的configure.in。这个文件使用的m4语法。
首先,我们要修改的是包名:
修改为:
对比configure.in,我们还需要增加检测系统是否包含gtk+-2.0及lunar-calendar-2.0这两个包
即在“# Checks for libraries.”增加下面增加如下内容
上面是简单拷贝,再增加模块检查,其实,我们应该将其中的PACKAGE修改成合适的名字,比如,修改为:
修改完之后,改名为configure.ac,对于这个文件的修改,我们先到这儿
glade-2在生成代码时,为我们考虑好了,自动生成了configure.in及autogen.sh。
依道理来说,只要稍做修改,我们就可以编译/链接再运行了。
但由于glade-2早在2007年就停止开发了,所以还得我们自己来动手。
这里面要用到的就是一系列工具:autoconf/automake/intltool等等。
现在的autoconf认的是configure.ac文件了。这个文件需要通过扫描代码重新生成,运行autoscan即可。生成的autoscan.log是日志信息,删除即可
生成的configure.scan就是我们要的东西,基于这个文件基础之上进行修改
configure.scan最初的内容
# -*- Autoconf -*- # Process this file with autoconf to produce a configure script. AC_PREREQ([2.69]) AC_INIT([FULL-PACKAGE-NAME], [VERSION], [BUG-REPORT-ADDRESS]) AC_CONFIG_SRCDIR([src/callbacks.h]) AC_CONFIG_HEADERS([config.h]) # Checks for programs. AC_PROG_CXX AC_PROG_CC AC_PROG_MAKE_SET # Checks for libraries. # Checks for header files. AC_CHECK_HEADERS([libintl.h string.h unistd.h]) # Checks for typedefs, structures, and compiler characteristics. # Checks for library functions. AC_CONFIG_FILES([Makefile src/Makefile]) AC_OUTPUT
configure.scan进行修改之后就可以改名为configure.ac,替换glade-2生成的configure.in。这个文件使用的m4语法。
首先,我们要修改的是包名:
AC_INIT([FULL-PACKAGE-NAME], [VERSION], [BUG-REPORT-ADDRESS])
修改为:
AC_INIT(lunarcalendar, 0.1, eagle_xmw@yahoo.com.cn)
对比configure.in,我们还需要增加检测系统是否包含gtk+-2.0及lunar-calendar-2.0这两个包
即在“# Checks for libraries.”增加下面增加如下内容
# Checks for libraries. pkg_modules="gtk+-2.0 >= 2.10.0 lunar-calendar-2.0 >= 2.4 " PKG_CHECK_MODULES(PACKAGE, [$pkg_modules]) AC_SUBST(PACKAGE_CFLAGS) AC_SUBST(PACKAGE_LIBS)
上面是简单拷贝,再增加模块检查,其实,我们应该将其中的PACKAGE修改成合适的名字,比如,修改为:
# Checks for libraries. pkg_modules="gtk+-2.0 >= 2.10.0 lunar-calendar-2.0 >= 2.4 " PKG_CHECK_MODULES(GTKLUNARCALENDAR, [$pkg_modules]) AC_SUBST(GTKLUNARCALENDAR_CFLAGS) AC_SUBST(GTKLUNARCALENDAR_LIBS)
修改完之后,改名为configure.ac,对于这个文件的修改,我们先到这儿
相关文章推荐
- 第一个GTK程序:中国农历 之四
- 第一个GTK程序:中国农历 之一
- 第一个GTK程序:中国农历 之五
- 第一个GTK程序:中国农历 附录1 autogen.sh
- 第一个GTK程序:中国农历 附录2 libtool
- 第一个GTK程序:中国农历 附录3 静态库
- 第一个GTK程序:中国农历 附录4 动态库
- 第一个GTK程序:中国农历 之三
- 第一个GTK程序:中国农历 附录5 变量名
- 【Ogre开发】之二:创建自己的第一个Ogre程序
- 【WebGL初学系列之二】WebGL第一个程序,三角形
- C语言 + GTK3+ Visual Studio 2015环境配置 以及第一个GTK界面程序
- 第一个Ajax程序——PHP学习日记之二
- 蛙蛙推荐:C语言入门之二——编写第一个有意义的小程序
- Struts 2.0系列之二--打造自己的第一个Struts 2.0程序
- 02 第一个GTK程序
- Linux驱动开发系列之二:第一个linux驱动hello word程序
- 第一个IronPython程序(之二)
- Android开发之路之二------第一个程序HelloWord
- 第一个IronPython程序(之二)