我正在用Java编写CBIR程序。
对于实际的图像处理,我使用的是C ++文件(带有他的标头),该文件是我在大学的CS学位课程中获得的。
我通过遵循this tutorial使用JNI将Java文件连接到C ++文件。
我试图在“带有插件CDT的Java开发人员的Eclipse”中找到配置OpenCV的教程,但是找不到。
在本教程中: https://docs.opencv.org/2.4.13.4/doc/tutorials/introduction/linux_eclipse/linux_eclipse.html
在第8步中,我需要转到Eclipse中的“工具设置”标签,但我没有它。
本教程说要打开一个C ++项目,但我需要一个Java项目(因为我的大多数文件都在Java中)。
创建C ++项目时,确实看到了“工具设置”标签。
但是,作为该JNI教程的一部分,我已经将我的项目转换为C ++项目,所以我认为这与创建新的C ++项目相同。
转换为C ++项目的说明在该教程的第2步中:
步骤2:将Java项目转换为C / C ++ Makefile项目 右键单击“ HelloJNI” Java项目⇒新建⇒其他...⇒转换为> C / C ++项目(增加了C / C ++性质)⇒下一步。
出现“转换为C / C ++项目”对话框。在“项目类型”中,选择>“ Makefile项目”⇒在“工具链”中,选择“ MinGW GCC”⇒完成。
现在,您可以将该项目作为Java和C / C ++项目运行。
有什么指针可以解决这个问题吗?
答案 0 :(得分:3)
您需要两个项目,一个C ++,一个Java。
JNI教程演示了如何使用javac / javah工具生成所需的C ++标头,从而从Java中调用C ++。在示例中,它们使用Java部分完成,因此将其转换为C ++项目。
按照https://docs.opencv.org/2.4.13.4/doc/tutorials/introduction/linux_eclipse/linux_eclipse.html中的说明使用opencv设置新的C ++项目,并为您的java源代码独立创建一个新的Java项目。当您使用javac生成标题时,而不是指定“。”。在命令行上的path,指定C ++项目的路径。
您将需要确保Java System.loadLibrary(“ YourC ++ LibraryName”)调用可以找到C ++项目创建的共享库(并且C ++项目构建了一个共享库)。