【问题标题】:Calling Java function from Qt C++从 Qt C++ 调用 Java 函数
【发布时间】:2015-02-22 06:26:11
【问题描述】:

是否可以从 Qt 应用程序调用 java 函数,如果可以,如何调用?我是否需要为此类任务更新 java 源代码?我有 Qt 桌面开源版。

【问题讨论】:

  • @Nejat,我有 Qt 桌面版,版本 5.4 开源,我认为没有可用的QAndroidJNIObject;如果我这样做,QtCreater 找不到它#include <QAndroidJNIObject>
  • 你是对的。这是我的错。
  • 你应该使用 JNI。它与 c++ 而不是 Qt 有关。请参阅:stackoverflow.com/questions/819536/…
  • 但是 Qt 现在为其提供了抽象,在使用 Qt 时,通常最好按照“Qt 方式”stackoverflow.com/questions/27094100/…

标签: java c++ qt


【解决方案1】:

在从 C/C++ 调用 java 之前,首先要三思。对于 Android,它允许您调用操作系统的某些 API 函数,但您需要付出性能和一些难以捕捉的错误的代价。

Qt 为调用 Java 设计了非常简单的方法:包 - androidextra 但是,如果您需要在桌面上调用它,有一种方法可以避免它:JNI(正如 Nejat 所说)。

以下是使用它的简单示例: http://www.codeproject.com/Articles/22881/How-to-Call-Java-Functions-from-C-Using-JNI

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-19
    • 1970-01-01
    • 2011-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-23
    相关资源
    最近更新 更多