Intereting Posts
Использование классификатора конфигурации наименьшей ширины Android Загрузить несколько файлов и показать прогресс в ListView Как лучше передать сообщение от одного фрагмента к его родительскому (эквивалент onActivityResult) WebView на Android ICS, проблемы iframe с android_assets Поддерживает ли Android log2 Биллинг в приложении для неподдерживаемых стран Android получить видео thumbnail PATH, а не растровое изображение Реализация ластика в приложении для рисования Android – черный след, а затем прозрачный Атрибут «title» уже был определен, если у него есть зависимости от сюжетов Android 1.0.0 Итерации через представления в макете и изменение шрифта Как очистить базу данных в Realm в Android Как получить текст из autocomplete textview android Android – как перехватить форму POST в android WebViewClient на уровне API 4 Добавить кнопку на экран предпочтений Службы Google Play устарели. Требуется 3025100, но найдено 2012110

Как использовать 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