2016-02-12 100 views
-1

我工作的C++应用程序,在那里我需要用Android源代码的接口之一,我从下面网址Android源代码编译问题

https://github.com/android

现在有这个源代码,当我编译我的应用程序,使用Camera模块,那么它有很多依赖关系,如utils,binder,gui,系统。通过这种方式我包括了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 

我的问题是:如何摆脱这种错误的?

+0

有什么不清楚的错误信息? –

+0

我不清楚它是什么意思@ChristianHackl – Nishant

+0

哦..我不知道这是如何可以与Android代码问题?错误:模板参数 'class Flattenable'需要解决http://stackoverflow.com/questions/9850809/error-template-argument-required-for-struct-list – Nishant

回答

0

每当任何类模板必须预先声明另一个类或任何那么我们就需要用模板

如给它: 在Android的源,一流的预申报Parcel.h文件Flattenable是按以下步骤进行:

class Flattenable; 

,但实际上它应该是:

template <typename T> class Flattenable; 

因为类Flattenable是模板类。 但是,我惊讶这件事情没有注意到Android的源代码..!