2013-01-17 114 views
-1

我知道SWIG是跨平臺兼容的,但是需要做什麼特定的工作才能在每個平臺上生成可編譯的代碼,或者我可以在Windows上生成並期望它能在其他平臺上工作?SWIG的跨平臺兼容性

該網站沒有說太多的跨平臺準備(或者我不努力找到它)。

此外,如果它很重要,我只使用它的Lua綁定。

+1

我不確定我是否理解用例。 Swig的調用應該是構建系統的一部分,Swig生成的是派生的工件,它不應該位於從一臺機器移植到另一臺機器的代碼庫中。 –

+0

它在構建系統中;這就是我要問的。我的問題是,我正在使用的Swig版本經過大量修改以適應這個特定的項目(它引入到生成的代碼中的源代碼更改根本不是平臺特定的);然而,我不確定我是否應該將它當作神器並重新生成(如果它甚至有所作爲)。 – Qix

+1

SWIG在調用代碼時生成的代碼應該可以移植到任何SWIG目標平臺。因此,在Linux上運行SWIG應該生成可以在Windows上構建的代碼。 – Flexo

回答

1

我的問題是,我使用的是大量修改痛飲的版本來定製這個特定項目(源代碼修改其引入生成的代碼是不是在所有的平臺專用,要麼)

如果您更改了它,那麼它不再是SWIG。如果您將SWIG更改爲跨平臺,那麼不再是跨平臺的

SWIG是跨平臺的,但它是只有作爲您提供的輸入代碼的跨平臺。如果你改變了SWIG以使它不是跨平臺的,它就不能神奇地將自己轉變回跨平臺的代碼。

+0

這個答案的唯一部分是有絲毫意義的,或者絲毫不相關的是第二個陳述的第一句話。 也許如果你讀了你所引用的內容,你會發現你的答案可以被壓縮成幾個字。我改變Swig中的任何事實都是無關緊要的。 – Qix