1
例WAF項目有一個很好的WAF VALA例如這裏:與VALA
https://code.launchpad.net/~asabil/vala/vala-project-template.waf
,它顯示了一個圖書館和VALA的應用程序。不幸的是,這個例子中的程序實際上並沒有使用庫(它定義了方法「hello」)。當我嘗試從程序中調用它時,出現編譯錯誤。
我無法修改wscript來正確加載庫。這裏有什麼竅門?謝謝。
我已經添加是這一行的程序:
My.Lib.hello();
但它不會編譯:
Waf: Entering directory `/home/lzap/work/shellmail/TEST/vala-template/_build_'
[1/6] valac: src/hello-gtk.vala -> _build_/default/src/hello-gtk.c
../src/hello-gtk.vala:16.9-16.10: error: The name `My' does not exist in the context of `Sample.create_widgets._lambda0_'
Waf: Leaving directory `/home/lzap/work/shellmail/TEST/vala-template/_build_'
Build failed: -> task failed (err #1):
{task: valac_task hello-gtk.vala -> hello-gtk.c}
我想我需要改變程序的WScript:
#!/usr/bin/env python
def build(bld):
prog = bld(features='cc cprogram')
# symbolic name used to reference this object
prog.name = 'hello-gtk.program'
# name of the resulting program
prog.target = 'hello-gtk'
prog.source = 'hello-gtk.vala'
# libraries to link against
prog.uselib = 'GTK+'
# Vala packages to use
prog.packages = 'gtk+-2.0'
# Extra vapi dirs
#prog.vapi_dirs = '../my_lib'
# Enable threading
#prog.threading = True
嗯,謝謝你的嘗試。但是該方法被定義爲靜態的。問題不同,我無法找到。 – lzap 2012-03-09 20:19:10
我們在談論同一個文件嗎? http://bazaar.launchpad.net/~asabil/vala/vala-project-template.waf/view/head:/my_lib/my-lib.vala 該方法是在沒有'static'的類的內部定義的關鍵詞。 – eagleoneraptor 2012-03-10 05:18:01
啊我已經從我的項目中刪除了。無論如何,我回到了Autotools。謝謝。 – lzap 2012-03-12 09:59:58