2013-07-02 3 views
1

Я пытаюсь использовать gluUnProject() в своей функции для перевода 2D-координат видового экрана в 3D-модель мира. Но, когда я пытаюсь построить, я получаю это сообщение:gluUnProject() не распознается во время сборки

D:/android-ndk-r8d/toolchains/arm-linux-androideabi-4.6/prebuilt/windows/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe:

./obj/local/armeabi/objs-debug/tuxrider/src/course_load.o: in function get_OGL_position:jni/tuxrider/src/course_load.c:124: error: undefined reference to 'gluUnProject' collect2: ld returned 1 exit status

/cygdrive/d/android-ndk-r8d/build/core/build-binary.mk:397: recipe for target `obj/local/armeabi/libtuxrider.so' failed make: *

[obj/local/armeabi/libtuxrider.so] Error 1

индексатор в Eclipse, признает эту функцию, но ndk-build не делает. Есть ли проблема с OpenGLES 2.0?

ответ

1

gluUnProject() не является частью OpenGL ES. Это часть библиотеки GL Utility GLU, которая не отображается в Android NDK.

Существует порт библиотеки GLU для Android - GLU ES: http://code.google.com/p/glues/ Просто используйте его.

0

collect2: л.д. возвращается статус 1 выхода

Это загадочная, но общая ошибка из компоновщика (по имени Л.Д.), вы, вероятно, включали в себя заголовок для OpenGL-ES, но пренебрегал фактически связать с библиотекой.

+0

Не понимаю. Я не включил заголовок для GL и GLU, но все функции GL работают нормально, кроме этой функции GLU. – miller

+0

Возможно, что индексатор eclipse смотрит на ваш локальный каталог include, но ваша целевая система не имеет определения для gluUnProject() в том же месте. Если вы не включили заголовки, то я удивлен, что он создан вообще, возможно, что в другой заголовок, в который вы включили себя, включена часть, но не все GLU. IE все, что вы использовали, кроме gluUnProject(), или компилятор скончался в этот момент и не сообщил о других потерянных символах. – awiebe