2017-10-02 15 views
1

C++コード内のアンドロイドアプリ内でOpenGL ES2を使用しています。 プログラムをコンパイルし、実行計画通りに動作しますが、しかし、IDE自体はNDKのヘッダファイルは醜いファイル私のコードを残して見つけることができません。Android Studio IDEでNDKヘッダーファイルが見つかりません

Code file with include errors

私のcmakeのファイル:

cmake_minimum_required(VERSION 3.4.1) 
add_library(native-lib 
     SHARED 
     openGLRenderer.cpp 
     androidInterface.cpp 
      ) 
target_link_libraries(native-lib 
        android 
        log 
        EGL 
        GLESv2 
        ) 

build.gradle:

... 
    externalNativeBuild { 
     cmake { 
      cppFlags "-frtti" 
      arguments '-DANDROID_PLATFORM=android-21', 
        '-DANDROID_TOOLCHAIN=clang', '-DANDROID_STL=gnustl_static' 
     } 

...

externalNativeBuild { 
    cmake { 
     path "src/main/cpp/CMakeLists.txt" 
    } 
} 

これを解決するにはどうすればよいですか?ありがとうございました!

答えて

1

私はこれを信じることができません。 修正は、他のスラッシュを使用することです。 ので、代わりの:

#include <GLES2\gl2.h> 

それはまだ罰金との両方のプレビューコンパイルと私は前にそれを持っていたのVisual Studioで働いていたコンパイル

#include <GLES2/gl2.h> 

を行います。

0

"include_directories"でヘッダーファイルをcmakeファイルに追加しましたか?

cmake_minimum_required(VERSION 3.4.1) 
project(GL3Lib) 
# now build app's shared lib 

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wc++11-extensions -Werror -Wno-deprecated -std=c++11") 

add_subdirectory(freetype) 
include_directories(freetype/include) 
include_directories(common) 
include_directories(utils) 
include_directories(rendering/text) 

file(GLOB UTILS_HEADERS "utils/*.h") 
file(GLOB COMMON_HEADERS "common/*.h") 
file(GLOB TEXT_HEADERS "rendering/text/*.h") 
file(GLOB UTILS_HEADERS "utils/*.h") 

set(JNI_SRCS 
    JNI_Api.cpp) 
set(TEXT_SRCS 
    rendering/text/Font.cpp 
    ) 
set(UTIL_SRCS 
    common/Utils.cpp 
    ) 


add_library(gl3 SHARED 
      ${JNI_SRCS} 
      ${TEXT_SRCS} 
      ${UTIL_SRCS} 
      ${UTILS_HEADERS} 
      ) 


# MESSAGE(STATUS "CMAKE_SOURCE_DIR:   " ${CMAKE_SOURCE_DIR}) 

# add lib dependencies 
target_link_libraries(gl3 
         android 
         freetype 
         log 
         EGL 
         GLESv3 
        ) 
関連する問題