2013-08-18 33 views
2

我有幾個類正在使用swig來包裝嵌入的Lua腳本。我們已經定義了我們想要的函數調用的樣子。覆蓋靜態類函數的默認SWIG名稱

display.writeLine("Hello") 

問題是,SWIG似乎沒有選項來定義它如何生成庫名稱。 C++類看起來像這樣。

class Display 
{ 
public: 
    static void writeLine(char *); 
} 

我可以輕鬆地獲得SWIG來包裝這個功能,它只是始終顯示了這樣 Display_writeLine()

因此,而不是隻是用我的自定義空間,我必須做

display.Display_writeLine() 

這不是我想要的。我試圖嘗試重命名規則,但似乎沒有任何工作。現在我有一個外部C函數,然後調用我的靜態函數,但它是一個額外的電話,我不需要。似乎應該是簡單的東西...

回答

2

您可以輕鬆地爲您的功能的快捷方式,做同樣的功能代碼,並加載在啓動文件:

display = {} 

function display.writeline(str) 
     display.Display_writeLine(str) 
end 
+0

是的,我基本上是做這樣的事情現在,但我認爲可能有一個更清潔的解決方案 –