Я пытаюсь использовать Freetype с Android NDK + Eclipse, но у меня появляется ошибка, когда я включаю это в свой проект:
#include <ft2build.h>
#include FT_FREETYPE_H
Сообщение об ошибке:
фатальная ошибка: ft2build.h: нет такого файла или каталога
Вот Android.mk в jni / freetype2:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := freetype
LOCAL_SRC_FILES := freetype/lib/libfreetype.a
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/freetype/include/freetype2 $(LOCAL_PATH)/include
include $(PREBUILT_STATIC_LIBRARY)
Вот Android.mk проекта (в папке jni):
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := CNSD_CPP
...
LOCAL_LDLIBS := -landroid -lGLESv2 -lEGL -llog
LOCAL_STATIC_LIBRARIES := freetype android_native_app_glue
include $(BUILD_SHARED_LIBRARY)
$(call import-module,android/native_app_glue)
И у меня есть этот заголовочный файл в каталоге:
jni/freetype2/freetype/include/freetype2
и когда я нажимаю CTRL +, Eclipse показывает мне файл. Что я делаю неправильно?
@ Алекс: Я запустил ndk-build V = 1, и в результате мы получили следующий результат:
[armeabi] Компиляция ++ thumb: CNSD_CPP <= Log.cpp
d: /Development/Android/android-ndk-r9c/toolchains/arm-linux-androideabi-4.8/prebuilt/windows-x86_64/bin/arm-linux-androideabi-g++ -MMD -MP -MF D: / Разработка / Проекты / рабочее пространство / CNSD_CPP // объект / местные / armeabi / OBJS / CNSD_CPP / Вход
.o.d -fpic -ffunction-section -funwind-tables -fstack-protector
-no-canonical-prefixes -march = armv5te -mtune = xscale -msoft-float -fno-исключения -fno-rtti -mthumb -Os -g -DNDEBUG -fomit-frame-pointer -fno-строго-псевдонимы
-finline-limit = 64 -Id: / Development / Android / android-ndk-r9c / sources / android / native_app_glue
-Id: / Разработка / Android / андроид-NDK-R9c / источники / CXX-СТЛ / гну-libstdc ++ / 4,8 / включить
-Id: / Development / Android / android-ndk-r9c / sources /cxx-stl/gnu-libstdc++/4.8/libs/armeabi/include
-Id: / Разработка / Android / андроид-NDK-R9c / источники / CXX-СТЛ / гну-libstdc ++ / 4,8 / включить / назад
-ID: / Разработка / Проекты / Рабочая область / CNSD_CPP // jni -DANDROID -Wa, — noexecstack -Wf ormat -Werror = format-security -std = c ++ 11 -Id: / Разработка / Android / android-ndk- R9c / платформы / андроид-15 / арка рычаг / USR / включать в себя
-c D: /Development/Projects/workspace/CNSD_CPP//jni/Log.cpp -o D: / Разработка / Проекты / workspa
ce / CNSD_CPP // obj / local / armeabi / objs / CNSD_CPP / Log.o [armeabi] Compile ++
большой палец: CNSD_CPP <= Main.cpp
d: /Development/Android/android-ndk-r9c/toolchains/arm-linux-androideabi-4.8/prebuilt/windows-x86_64/bin/arm-linux-androideabi-g++ -MMD -MP -MF D: / Разработка / Проекты / рабочее пространство / CNSD_CPP // объект / местные / armeabi / OBJS / CNSD_CPP / Май
n.o.d -fpic -ffunction-section -funwind-tables -fstack-protector
-no-canonical-prefixes -march = armv5te -mtune = xscale -msoft-float -fno-exception -fno-rtti -mthumb -Os -g -DNDEBUG -fomit-frame-pointer -fno-строго-псевдонимы -finline-limit = 64 -Id: / Development / Android / android-ndk-r9c / sources / android / native_app_glue
-Id: / Разработка / Android / андроид-NDK-R9c / источники / CXX-СТЛ / гну-libstdc ++ / 4,8 / включить
-Id: / Development / Android / android-ndk-r9c / source s / cxx-stl / gnu-libstdc ++ / 4.8 / libs / armeabi / include
-Id: / Разработка / Android / андроид-NDK-R9c / источники / CXX-СТЛ / гну-libstdc ++ / 4,8 / включить / назад
-ID: / Разработка / Проекты / Рабочая область / CNSD_CPP // jni -DANDROID -Wa, — noexecstack -W format -Werror = format-security -std = c ++ 11 -Id: / Разработка / Android / android-ndk- R9c / платформы / андроид-15 / арка рычаг / USR / включать в себя
-c D: /Development/Projects/workspace/CNSD_CPP//jni/Main.cpp -o D: / Разработка / Проекты / Работы
темп / CNSD_CPP // объект / местные / armeabi / OBJS / CNSD_CPP / main.o
D: /Development/Projects/workspace/CNSD_CPP//jni/Main.cpp: 3: 22: смертельный
ошибка: ft2build.h: нет такого файла или каталога #include
^ Компиляция прекращена. make.exe: *** [D: /Development/Projects/workspace/CNSD_CPP//obj/local/armeabi/objs/CNSD_CPP/Main.o] Ошибка 1
Не используйте оболочку cygwin для сборки с помощью цепочки инструментов NDK. Откройте обычную командную строку Windows и используйте ndk-build.cmd
вместо. Убедитесь, что все пути указаны в так называемом смешанном формате, например
d:/Development/Projects/workspace/CNSD_CPP
Обновление: теперь я вижу, что
include $(LOCAL_PATH)/freespace2/Android.mk
пропал, отсутствует. Должен быть размещен после BUILD_SHARED_LIBRARY
и раньше include-module
,