taka-no-me / android-cmake

CMake toolchain file and other scripts for the Android NDK
1.22k stars 437 forks source link

ndk_helper won't compile #35

Closed rcdailey closed 9 years ago

rcdailey commented 9 years ago

I specify API level as 15 and I get the following errors (Using CMake 3.1.1 with NDK r10 generated against Eclipse CDT4 - Ninja). Building on Windows 7:

[15/478] Building CXX object CMakeFiles/ndk_helper.dir/C_/android/android-ndk-r10/sources/android/ndk_helper/gestureDetector.cpp.o
[16/478] Building CXX object CMakeFiles/ndk_helper.dir/C_/android/android-ndk-r10/sources/android/ndk_helper/GLContext.cpp.o
FAILED: C:\android\android-ndk-r10\toolchains\arm-linux-androideabi-4.8\prebuilt\windows-x86_64\bin\arm-linux-androideabi-g++.exe   -DANDROID -fexceptions -frtti -Wno-psabi --sysroot=C:/android/android-ndk-r10/platforms/android-17/arch-arm -funwind-tables -finline-limit=64 -fsigned-char -no-canonical-prefixes -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -fdata-sections -ffunction-sections -Wa,--noexecstack  -mthumb -fomit-frame-pointer -fno-strict-aliasing -O3 -DNDEBUG -fPIC -isystem C:/android/android-ndk-r10/platforms/android-17/arch-arm/usr/include -isystem C:/android/android-ndk-r10/sources/cxx-stl/gnu-libstdc++/4.8/include -isystem C:/android/android-ndk-r10/sources/cxx-stl/gnu-libstdc++/4.8/libs/armeabi-v7a/include -isystem C:/android/android-ndk-r10/sources/cxx-stl/gnu-libstdc++/4.8/include/backward -IC:/android/android-ndk-r10/sources/android/cpufeatures -IC:/android/android-ndk-r10/sources/android/native_app_glue -IC:/android/android-ndk-r10/sources/android/ndk_helper -IC:/code/frontend/Core/Artifacts/Android -IC:/code/frontend/Core/Artifacts/PowerVR_SDK/Include    -std=gnu++11 -MMD -MT CMakeFiles/ndk_helper.dir/C_/android/android-ndk-r10/sources/android/ndk_helper/GLContext.cpp.o -MF CMakeFiles/ndk_helper.dir/C_/android/android-ndk-r10/sources/android/ndk_helper/GLContext.cpp.o.d -o CMakeFiles/ndk_helper.dir/C_/android/android-ndk-r10/sources/android/ndk_helper/GLContext.cpp.o -c C:/android/android-ndk-r10/sources/android/ndk_helper/GLContext.cpp
C:/android/android-ndk-r10/sources/android/ndk_helper/GLContext.cpp: In member function 'bool ndk_helper::GLContext::InitEGLSurface()':

C:/android/android-ndk-r10/sources/android/ndk_helper/GLContext.cpp:133:73: error: cannot convert 'ANativeWindow*' to 'EGLNativeWindowType {aka android_native_window_t*}' for argument '3' to 'void* eglCreateWindowSurface(EGLDisplay, EGLConfig, EGLNativeWindowType, const EGLint*)'

     surface_ = eglCreateWindowSurface( display_, config_, window_, NULL );

                                                                         ^

C:/android/android-ndk-r10/sources/android/ndk_helper/GLContext.cpp: In member function 'EGLint ndk_helper::GLContext::Resume(ANativeWindow*)':

C:/android/android-ndk-r10/sources/android/ndk_helper/GLContext.cpp:225:73: error: cannot convert 'ANativeWindow*' to 'EGLNativeWindowType {aka android_native_window_t*}' for argument '3' to 'void* eglCreateWindowSurface(EGLDisplay, EGLConfig, EGLNativeWindowType, const EGLint*)'

     surface_ = eglCreateWindowSurface( display_, config_, window_, NULL );

                                                                         ^

ninja: build stopped: subcommand failed.

I'm calling the following function from android-cmake repository:

android_ndk_import_module_ndk_helper()

cpufeatures and native_app_glue compile fine.

taka-no-me commented 9 years ago

Have no idea what goes wrong here. It might be related to C++11 you have enabled. I'm not going to debug this issue so if you have a fix for android_ndk_import_module_ndk_helper then feel free to contribute.