通过SWIG实现c++和Java GUI的链接

C++ and Java GUI linkage through SWIG

本文关键字:GUI 链接 Java SWIG 实现 c++ 通过      更新时间:2023-10-16

我正在尝试在我的jTabbedPane项目中包含一个称为Avogadro(1)的计算化学/物理可视化工具。我使用QT Jambi(1)在Eclipse中用Avogadro的UI创建了一个JUI (Java GUI)。我的尝试是成功的,但是GUI在运行时(显然没有功能)。

简而言之,这里的复杂性是我试图访问一个大型项目的c++库,而这个项目只能用CMake进行编译(导入Eclipse没有成功)。更糟糕的是,我认为我所需要的只是一个.cpp文件,它调节GUI并将其链接到项目的其余部分,从而提供功能。我计划使用SWIG与上述cpp文件中的函数进行接口,并计划使用该接口与c++库一起工作,以向Java GUI添加功能。

我该怎么做呢?我需要SWIG整个项目吗?

看起来Avogadro是开源的。因此,您可以下载源代码并SWIG整个项目。这将为您提供在Java中与在c++中相同的类。

如果你只想要阿伏伽德罗功能的一个子集,我建议在c++中创建一个简单的桥接类。这个桥接类,可能还有其他的助手类,可以被SWIGed。您的Java现在将使用桥接类来执行Avogadro库。