1. 安装
在ubuntu下安装很简单,使用命令sudo apt-get install valac-0.16(12.04版本),测试valac编译器的版本号,可以输入valac --version命令。
2. HelloWorld程序
class Demo.HelloWorld : GLib.Object {public static int main(string[] args){stdout.printf("Hello, World\n");return 0;}
}
3. 编译运行
编译这个程序使用命令valac hello.vala,编译成功之后生成hello这个可执行程序,运行这个程序,输入结果为:
Hello, World
通过运行valac --version这条命令我们可以看到,vala版本为0.16.0,而最新的版本到了0.31.1,如果想要安装最新的vala版本,可以通过源码方式来安装,使用git命令clone最新的vala源码:
git clone git://git.gnome.org/vala
编译这个源码包是对环境有所要求的,其中就要求有valac,也就是说你必须要使用sudo apt-get install valac-0.16来安装一个比较老的vala版本,然后才能安装最新的版本。
进入到vala源码包中,直接运行autogen.sh这个脚本来生成Makefile,然后以make && sudo make install方式来安装,注意,默认是安装在/usr/local目录下的,好了,把之前用apt-get install命令安装的vala给删掉(当然不删掉也是可以的),但是在运行valac命令时提示vala共享库未找到,将vala共享库放到/usr/lib中是可以的,以为是/usr/local/lib为加入到系统库路径中的原因,但是在/etc/ld.so.conf.d/libc.conf文件中找到了这么一条/usr/local/lib,也就是说这个这个目录是加入到了系统库路径中的,然后运行sudo /sbin/ldconfig命令,却提示下面的错误信息:
/sbin/ldconfig.real: /usr/local/lib/libvala-0.32.so.0 is not a symbolic link
通过比较发现libvala-0.32.so、libvala-0.32.so.0、libvala-0.32.so.0.0.0这三个文件是一样的,好吧,将之前的libvala-0.32.so.0文件给删掉,按照上面的那条错误指示运行一下下面这条命令:
sudo ln -s libvala-0.32.so libvala-0.32.so.0
然后再运行sudo /sbin/ldconfig命令,没有提示上面的错误信息了。
最后运行一下valac --version命令,得到最新版本号为:
0.31.1.11-094fd
参考:https://wiki.gnome.org/Projects/Vala/Hacking#C_Code_Generation
https://wiki.gnome.org/Projects/Vala/Tutorial