shawind 发表于 2010-11-15 18:57:58

在vala中使vc编译器

一般来说,windows下,用mingw作为vala的后端比较方便。windows下编译好的vala
但是如果要用d3dx库什么的,gcc明显很不得力。
其实再想想,vala的根本也就两个,一个ansi c,一个glib
在glib的官网上下到的开发用库文件里本来就有vc格式的lib文件。
那么事情就简单多了。和用mingw时差不多,把vc编译器的路径设置好以供valac调用。
@set PATH=C:\mingw\vala\bin;c:\vc2010\bin;
@set INCLUDE=c:\vc2010\include;c:\vc2010\psdk\include;C:\mingw\vala\include;
@set LIB=c:\vc2010\lib;c:\vc2010\psdk\lib;C:\mingw\vala\lib;
@set CC=cl
@%comspec% /k
再为valac.exe写一个bat作一些预处理
valac -X -O2 -X gio-2.0.lib -X glib-2.0.lib -X gmodule-2.0.lib -X gobject-2.0.lib -X gthread-2.0.lib %*
编译时,直接把这个批处理文件当作valac.exe那样使用就成。
当然,如果不嫌麻烦,每次用valac.exe手工加参数,也行。

注意:
1.编译时valac会自动生成一些gcc才能理解的编译参数,而vc的cl不能理解会报错,不过并不影响使用。
2.使用其他vala的bind库时,像sdl,sqlite...,要注意找for vc格式的头文件和库文件。

lw 发表于 2010-11-18 22:20:36

没听过VALA- -是??

shawind 发表于 2010-11-19 14:39:51

引用第1楼lw于2010-11-18 22:20发表的:
没听过VALA- -是?? images/back.gif

vala是类似c#的编程语言,因为直接用c语言调用glib库会很麻烦,所以就有人发明了这么个语言,可以使用c#方式的高效率开发。而编译时先生成c代码再编译成机器码,以获得不错的执行效率。
页: [1]
查看完整版本: 在vala中使vc编译器