1

我在 Android 开发中使用 JNI。我想知道编译器在哪里找到引用的 .h 文件?

在这里jni/jni_part.cpp,它包括很多 .h 文件。Opencv相关文件由SDK定义,但“cartoon.h”肯定是项目指定的头文件。但我在项目文件夹中找不到它。那么eclipse在每次运行时都会编译JNI c++代码吗?如果是这样,eclipse 在哪些目录中找到这些标头?

也许它是 JNI 的基础,但我不熟悉它。所以请帮我说一两句话。或者你可以在 Android 中粘贴一个简单的 JNI 教程,eclipse。

#include <jni.h>
#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/features2d/features2d.hpp>


#include "cartoon.h"
#include "ImageUtils.h" // Handy functions for debugging OpenCV images, by Shervin Emami.


using namespace std;
using namespace cv;

extern "C" {

.....

这是我的eclipse项目文件夹结构

/project
  /jni
    jni_part.cpp
  /src
    something.java
4

2 回答 2

2

您需要开始使用 android-ndk 将 .c、.cpp 文件编译为 .so 库对象,然后您可以在您的 android 项目中使用它。

请参考 Android NDK 开始。 http://developer.android.com/tools/sdk/ndk/index.html#GetStarted

您可以在 NDK 下载中找到示例。

于 2013-06-04T14:21:31.830 回答
0

如果 Eclipse “知道”cartoon.h文件在磁盘上的位置,它将帮助您找到它 - 将光标放在该#include行上并按F3

关于您的其他问题:Eclipse 仅在相关文件(源、标头或 mk)更改时编译。

于 2013-06-04T18:55:57.470 回答