我正在写一个基于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