我正在寫一個基於Qt的(QtCore)C++庫,並希望有來自Java和Python訪問它。由於PySide和SIP,Python不是問題。但是我似乎無法找到任何關於對Java做同樣的事情。事實上,Java bindings exist for Qt使我希望有一種方法可以爲基於自定義Qt的庫創建綁定。生成Java綁定到一個基於Qt庫
有沒有人這樣做?或者有任何信息或指示如何做到這一點?
我正在寫一個基於Qt的(QtCore)C++庫,並希望有來自Java和Python訪問它。由於PySide和SIP,Python不是問題。但是我似乎無法找到任何關於對Java做同樣的事情。事實上,Java bindings exist for Qt使我希望有一種方法可以爲基於自定義Qt的庫創建綁定。生成Java綁定到一個基於Qt庫
有沒有人這樣做?或者有任何信息或指示如何做到這一點?
的Qt Jambi的包括一臺發電機,你可以在自己的Qt類使用。
不過,諾基亞V4.5後停藥佔碑支持。
有關技術詳情,請參閱http://doc.qt.nokia.com/qtjambi-4.5.0_01/com/trolltech/qt/qtjambi-generator.html。
此外,還有在http://www.sra.co.jp/qt/relation/qtjambi-whitepaper-tp3.pdf是一個早期的白皮書仍然在第4章
http://www.swig.org/有一個名爲痛飲程序。這個程序允許你生成綁定 ,這在如Java或Python語言,簡單地調用相應的C(++)函數例如,如果你有一個C++函數int add(int x, int y)
創建功能,在運行原型/通過痛飲定義將創建一個可以調用該函數的Java包裝器。 C代碼使用的任何庫都是不相關的。
發電機的細節與SWIG的問題是,它不理解的Qt的細節。例如,SIP和PySide生成可與Qt配合使用的綁定。我已經用C++(不依賴於Qt)的SWIG,並且它工作時生成的包裝代碼是巨大的,特別是如果你開始使用STL模板。 我正在尋找的答案更多的是可能使用與Qt Jambi使用的相同的生成器。但是我找不到任何有關這方面的信息。 – 2010-06-25 22:38:08