Проблема с компиляцией исходного кода Android

я работаю над одним из приложений C ++, где мне нужно интерфейс с исходным кодом Android, я получил этот исходный код из URL ниже

https://github.com/android

Теперь, когда я компилирую свое приложение, которое использует модуль Camera, оно имеет много зависимостей, таких как Utils, связующее, графический интерфейс, система. таким образом я включаю все заголовочные файлы, от которых зависит модуль камеры 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

мой вопрос: Как выйти из этой ошибки ??

-1

Решение

Всякий раз, когда любой шаблон класса должен быть предварительно объявлен в другом классе или в любом другом месте, тогда мы должны предоставить его с шаблоном

например:
в файле Parcel.h источника Android предварительное объявление класса Flattenable выполняется следующим образом:

class Flattenable;

но на самом деле это должно быть:

template <typename T> class Flattenable;

потому что класс Flattenable является классом Template.
Однако я поражен, как это не заботится об исходном коде Android .. !!

0

Другие решения

Других решений пока нет …