2016-02-12 87 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的源代碼..!