我想从Java调用C++方法。我阅读了关于JNI的知识,但是我没有得到如何获取所有库文件以及在哪里保存它以便从命令行运行程序。如何从Java调用C++?
是否有任何方法从Eclipse本身调用C++方法,因为我正在使用它来运行Java类。
我想从Java调用C++方法。我阅读了关于JNI的知识,但是我没有得到如何获取所有库文件以及在哪里保存它以便从命令行运行程序。如何从Java调用C++?
是否有任何方法从Eclipse本身调用C++方法,因为我正在使用它来运行Java类。
虽然我以前使用JNI-C++桥接(虽然只有一点点) - 但它可能有点难看。您可能需要考虑使用SWIG来帮助您生成所有杂乱的锅炉板代码。
我已经使用JNA之前的简单接口,它很简单和优雅。尽管如此,如果存在复杂的界面,那么最好使用SWIG。
有一些比较SWIG与JNI和JNA的好答案。这个问题虽然被问到了一段时间。
JNA可以用来代替JNI。
所有你需要的是下载JNA罐子(https://github.com/java-native-access/jna#download)应该包含在你的Java项目。
您需要在项目属性中给出C++库的位置。
访问这个网站的例子,它也有一个Java和C++项目的源代码,以了解它是如何工作的。 (http://blog.mwrobel.eu/how-to-call-dll-methods-from-java/#a_downloads)
看看这个线程 - http://stackoverflow.com/questions/7212982/jni-unable-to-fix-this-error/7213943#7213943 – adatapost
只是遵循任何JNI的教程,并得到开始 –
[如何使用NDK?从'hello world'app开始](http://stackoverflow.com/questions/4777935/how-to-use-ndk-starting-with-hello-world-app) –