Android源代码编译问题
Android Source Code Compilation issue
我正在开发一个 C++ 应用程序,我需要在其中与 Android 源代码交互,我从下面 URL
获得了这个源代码
现在,当我编译使用相机模块的应用程序时,它有许多依赖项,例如 utils、binder、gui、system。通过这种方式,我包含了 Android 的相机模块所依赖的每个头文件。
但我遇到了以下错误:
In file included from jni/headers/camera/ICamera.h:22:0,
from jni/headers/MyCamera.h:4,
from jni/headers/VideoWrapper.h:4,
from jni/src/com_example_jnitest_VideoJava.cpp:2
jni/headers/binder/Parcel.h:31:7: error: template argument
required for 'class Flattenable'
class Flattenable;
^
jni/headers/binder/Parcel.h:105:37: error: invalid use of
template-name 'android::Flattenable' without an argument list
status_t write(const Flattenable& val);
^
jni/headers/binder/Parcel.h:160:30: error: 'Flattenable' is not a type
status_t read(F
我的问题是:如何摆脱这个错误?
每当任何 class 模板需要在另一个 class 或任何地方预先声明时,我们需要给它模板
例如:
在 Android 源文件的 Parcel.h 文件中,class Flattenable 的预声明如下:
class Flattenable;
但实际上应该是:
template <typename T> class Flattenable;
因为 class Flattenable 是模板 class。
但是我很惊讶这些东西没有被处理到 Android 源代码中..!!
我正在开发一个 C++ 应用程序,我需要在其中与 Android 源代码交互,我从下面 URL
获得了这个源代码现在,当我编译使用相机模块的应用程序时,它有许多依赖项,例如 utils、binder、gui、system。通过这种方式,我包含了 Android 的相机模块所依赖的每个头文件。
但我遇到了以下错误:
In file included from jni/headers/camera/ICamera.h:22:0,
from jni/headers/MyCamera.h:4,
from jni/headers/VideoWrapper.h:4,
from jni/src/com_example_jnitest_VideoJava.cpp:2
jni/headers/binder/Parcel.h:31:7: error: template argument
required for 'class Flattenable'
class Flattenable;
^
jni/headers/binder/Parcel.h:105:37: error: invalid use of
template-name 'android::Flattenable' without an argument list
status_t write(const Flattenable& val);
^
jni/headers/binder/Parcel.h:160:30: error: 'Flattenable' is not a type
status_t read(F
我的问题是:如何摆脱这个错误?
每当任何 class 模板需要在另一个 class 或任何地方预先声明时,我们需要给它模板
例如: 在 Android 源文件的 Parcel.h 文件中,class Flattenable 的预声明如下:
class Flattenable;
但实际上应该是:
template <typename T> class Flattenable;
因为 class Flattenable 是模板 class。 但是我很惊讶这些东西没有被处理到 Android 源代码中..!!