Как использовать GLM в приложении Android NDK

В настоящее время я пытаюсь перенести приложение OpenGL на Android и зациклился на том, как правильно импортировать и строить GLM http://glm.g-truc.net/ . У меня нет проблем с использованием GLM в стандартных приложениях на C ++, но я довольно новичок в NDK. Я пробовал все другие решения, размещенные по сети, без везения. Вот что у меня есть до сих пор:

Я использую последнюю версию GLM (0.9.4)

Мой файл .cpp содержит:

#include <glm\glm.hpp> 

Мой Android.mk-файл выглядит так:

  LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := libgl2jni LOCAL_CFLAGS := -Werror LOCAL_SRC_FILES := gl_code.cpp LOCAL_LDLIBS := -llog -lGLESv2 APP_STL := gnustl_static LOCAL_C_INCLUDES += \Development\OpenGL\glm-0.9.4.0\ include $(BUILD_SHARED_LIBRARY) 

** \ Development \ OpenGL \ glm-0.4.0 ** – это расположение файлов GLM на моем диске C

При построении я получаю эту ошибку:

  In file included from jni/gl_code.cpp:28:0, \Development\OpenGL\glm-0.94.0\glm\glm.hpp:86:18: fatal error: limits: No such file or directory 

Это напоминает проблему codemonkey https://gamedev.stackexchange.com/questions/47128/android-ndk-build-cant-find-glm-headers, где был предложен «APP_STL: = gnustl_static».

Похоже, что мои исходные файлы правильно настроены, однако есть какая-то проблема с компилятором, которую я не могу определить. Любая помощь очень ценится!

Правильный ответ Сэма Хосевара на проблему codemonkeys. Это не проблема. Это заголовочный файл «limits», используемый glm, это проблема.

Если ответ Сэма не решит вашу проблему, попробуйте изменить инструментальную цепочку на более раннюю версию, добавив в файл Application.mk следующее:

 NDK_TOOLCHAIN_VERSION=4.4.3 

И убедитесь, что STL для вашего проекта в Eclipse соответствует цепочке инструментов. Перейти к проекту-> свойства-> C / C ++ Общие-> Пути и символы

Убедитесь, что включены следующие каталоги:

EDIT : это только примеры; Убедитесь, что вы используете правильную платформу и abi

 /Path/To/NDK/sources/platforms/android-9/arch-arm/usr/include /Path/To/NDK/sources/cxx-stl/gnu-libstdc++/4.4.3/include /Path/To/NDK/sources/cxx-stl/gnu-libstdc++/4.4.3/libs/armeabi-v7a/include 

EDIT: примечание о первом каталоге удалено; Кажется, glm ищет файл ограничений, предоставленный текущей реализацией stl