[英]How can I call “glEnable” using Android NDK?
我正在嘗試對android環境進行世界上最簡單的測試,只是在處理端口之前先讓我所有的鴨子都排成一行。
我要做的第一件事就是鏈接GLES 1.0 ...這是我采取的步驟:
一個:使用Android Studio 2.3.2,我創建了一個具有基本活動的新的啟用C ++的項目
二:在AndroidManifest.xml中,我添加了以下內容:
<uses-feature android:glEsVersion="0x00010000" />
三:在CMakeLists.txt中,我添加了以下幾行:
find_package( ZLIB REQUIRED )
find_library( GLES1_LIBRARY names GLESv1_CM )
include_directories( ${ZLIB_INCLUDE_DIRS} ${GLES_INCLUDE_DIRS} )
...
target_link_libraries( # Specifies the target library.
native-lib
${ZLIB_LIBRARIES}
${GLES1_LIBRARIES}
${log-lib} )
這適用於log-lib,也適用於zlib ...不適用於GLES1(請參閱下一步)
第四:我只是向native-lib.cpp添加了一條簡單的代碼
glEnable(GL_BLEND);
點擊編譯並...
CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o: In function `Java_com_game_raptisoft_myapplication_MainActivity_stringFromJNI':
C:\Users\Raptisoft2011\Desktop\Android\MyApplication\app\src\main\cpp/native-lib.cpp:12: undefined reference to `glEnable'
我該如何解決這個問題? 我還需要包含更多的鏈接聲明嗎? 我嘗試了GLES1_LIBRARY的各種迭代(例如GLES_LIBRARY等),但是沒有任何效果。
嘗試
target_link_libraries( # Specifies the target library.
native-lib
${ZLIB_LIBRARIES}
EGL
GLESv1_CM
${log-lib} )
另外,您已將${GLES1_LIBRARIES}
定位${GLES1_LIBRARIES}
目標,但在上方已將其拼寫為GLES1_LIBRARY
如果可以,我建議移植到gles2。 您最需要擔心的是編寫着色器,它使您可以更好地控制數據的繪制方式。
順便說一句,這與使用PopCap框架創建Chuzzle的Rapitsoft相同嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.