MingW Autotools 编写Vala程序 之一
来源:互联网 发布:一彩送货单软件 编辑:程序博客网 时间:2024/06/01 23:37
本文并非深奥的技术讨论,只是遇到的一些问题,花了很多精力解决,希望分享给大家
Vala是Gnome为了能加快GObject应用开发采用的一种新兴的面向对象语言,他的语法类似于微软的C#。作为一个GNU还好者,本人的很多PC应用程序,都是采用GTK+ 2.0开发的,当然也会实验性的了解Vala。
对于大部分了解GNU的人来说都会了解Makefile,很多人下载源码以后都会用configure编译和安装,而这些源于GNU的Autotools工具。他是一种能够动态的生成Makefile的工具组。VALA源于GNU当然,Autotools也就理所当然的随着版本的升级开始支持Vala了。
参考如下的帖子应该可以基本了解VALA使用Autotool的步骤
https://pomozok.wordpress.com/2011/01/02/vala-autotools-example/
或者你可以直接用GIT工具Clone帖子里提到的工程文件
https://github.com/anatol/vala-sample
但是很遗憾,可能是我的autotool工具集的问题,执行autogen.sh的时候,一直会提示AM_PROG_VALAC没有定义,于是我阅读了aclocal/vala.m4和aclocal-1.11/vala.m4的代码,发现这个版本没有对这个宏的定义,但是却一直需要定义这个宏,可能希望自己定义吧。
在网上找到了vala.m4的新的定义
http://code.openhub.net/file?fid=FuZPiv7RFAH2mi8ZCaNSNbAeL6c&cid=Odd6moAHXVo&s=&fp=299985&mp&projSelected=true#L0
# Autoconf support for the Vala compiler# Copyright (C) 2008-2014 Free Software Foundation, Inc.## This file is free software; the Free Software Foundation# gives unlimited permission to copy and/or distribute it,# with or without modifications, as long as this notice is preserved.# Check whether the Vala compiler exists in $PATH. If it is found, the# variable VALAC is set pointing to its absolute path. Otherwise, it is# simply set to 'valac'.# Optionally a minimum release number of the compiler can be requested.# If the ACTION-IF-FOUND parameter is given, it will be run if a proper# Vala compiler is found.# Similarly, if the ACTION-IF-FOUND is given, it will be run if no proper# Vala compiler is found. It defaults to simply print a warning about the# situation, but otherwise proceeding with the configuration.## AM_PROG_VALAC([MINIMUM-VERSION], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])# --------------------------------------------------------------------------AC_DEFUN([AM_PROG_VALAC], [AC_PATH_PROG([VALAC], [valac], [valac]) AS_IF([test "$VALAC" != valac && test -n "$1"], [AC_MSG_CHECKING([whether $VALAC is at least version $1]) am__vala_version=`$VALAC --version | sed 's/Vala *//'` AS_VERSION_COMPARE([$1], ["$am__vala_version"], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no]) VALAC=valac])]) if test "$VALAC" = valac; then m4_default([$3], [AC_MSG_WARN([no proper vala compiler found]) AC_MSG_WARN([you will not be able to compile vala source files])]) else m4_default([$2], [:]) fi])
需要用这个vala.m4替换aclocal/vala.m4和aclocal-1.11/vala.m4,再执行上面的autogen.sh就可以顺利的产生configure了。
- MingW Autotools 编写Vala程序 之一
- MingW Autotools 编写Vala程序 之二
- vala
- Eclipse + CDT + MinGW 下编写QT程序
- vala导致mingw 编译lua 报 __chkstk_ms 错误
- mingw + msys + gcc 编写的程序中使用 windows函数
- Eclipse+MinGW编写JNI
- 用MinGW编写JNI
- Makefile文件编写和autotools的使用
- 用Autotools工具编写Makefile文件
- autotools
- Autotools
- Autotools
- AUTOTOOLS
- autotools
- autotools
- autotools
- autotools
- jQuery实现checkbox 全选,全不选功能
- NOIP 2000 单词接龙
- 详解HTML<head> 头标签元素的意义以及使用场景
- MAC下安装Microsoft软件
- Postgresql相关
- MingW Autotools 编写Vala程序 之一
- 数据库建表操作SQL代码大全
- Linux下MySQL的安装
- 含有文件的form表单用jquery提交
- web.xml初始化顺序
- C++和java多态的区别
- iOS证书说明和发布
- [刷题]Best Time to Buy and Sell Stock III
- 轻松搞定面试中的链表题目