Хочу скомпилировать игру для android на sdl2. Скачал с github freetype для android. Я создал в jni каталог Freetype2 и в него закинул include src и Android.mk. Вот Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
FREETYPE_SRC_PATH :=
LOCAL_MODULE := freetype2-static
LOCAL_CFLAGS := -DANDROID_NDK \
-DFT2_BUILD_LIBRARY=1
LOCAL_C_INCLUDES := $(LOCAL_PATH)/include_all \
$(FREETYPE_SRC_PATH)include \
$(FREETYPE_SRC_PATH)src
LOCAL_SRC_FILES := \
$(FREETYPE_SRC_PATH)src/autofit/autofit.c \
$(FREETYPE_SRC_PATH)src/base/basepic.c \
$(FREETYPE_SRC_PATH)src/base/ftapi.c \
$(FREETYPE_SRC_PATH)src/base/ftbase.c \
$(FREETYPE_SRC_PATH)src/base/ftbbox.c \
$(FREETYPE_SRC_PATH)src/base/ftbitmap.c \
$(FREETYPE_SRC_PATH)src/base/ftdbgmem.c \
$(FREETYPE_SRC_PATH)src/base/ftdebug.c \
$(FREETYPE_SRC_PATH)src/base/ftglyph.c \
$(FREETYPE_SRC_PATH)src/base/ftinit.c \
$(FREETYPE_SRC_PATH)src/base/ftpic.c \
$(FREETYPE_SRC_PATH)src/base/ftstroke.c \
$(FREETYPE_SRC_PATH)src/base/ftsynth.c \
$(FREETYPE_SRC_PATH)src/base/ftsystem.c \
$(FREETYPE_SRC_PATH)src/cff/cff.c \
$(FREETYPE_SRC_PATH)src/pshinter/pshinter.c \
$(FREETYPE_SRC_PATH)src/psnames/psnames.c \
$(FREETYPE_SRC_PATH)src/raster/raster.c \
$(FREETYPE_SRC_PATH)src/sfnt/sfnt.c \
$(FREETYPE_SRC_PATH)src/smooth/smooth.c \
$(FREETYPE_SRC_PATH)src/truetype/truetype.c
LOCAL_LDLIBS := -ldl -llog
include $(BUILD_STATIC_LIBRARY)
пишет такую ошибку, когда я запускаю ./gradlew installDebug
Error while executing process /home/cf/ndk/ndk-build with arguments {NDK_PROJECT_PATH=null APP_BUILD_SCRIPT=/home/cf/programs/SDL2-2.0.10/build/com.xverizex.sta/app/jni/Android.mk NDK_APPLICATION_MK=/home/cf/programs/SDL2-2.0.10/build/com.xverizex.sta/app/jni/Application.mk APP_ABI=x86_64 NDK_ALL_ABIS=x86_64 NDK_DEBUG=1 APP_PLATFORM=android-16 NDK_OUT=/home/cf/programs/SDL2-2.0.10/build/com.xverizex.sta/app/build/intermediates/ndkBuild/debug/obj NDK_LIBS_OUT=/home/cf/programs/SDL2-2.0.10/build/com.xverizex.sta/app/build/intermediates/ndkBuild/debug/lib APP_PLATFORM=android-16 /home/cf/programs/SDL2-2.0.10/build/com.xverizex.sta/app/build/intermediates/ndkBuild/debug/obj/local/x86_64/libmain.so}
Android NDK: WARNING:/home/cf/programs/SDL2-2.0.10/build/com.xverizex.sta/app/jni/Freetype2/Android.mk:freetype2-static: LOCAL_LDLIBS is always ignored for static libraries
[x86_64] Compile : freetype2-static <= autofit.c
/home/cf/programs/SDL2-2.0.10/build/com.xverizex.sta/app/jni/Freetype2/src/autofit/autofit.c:20:10: fatal error: 'ft2build.h' file not found
#include <ft2build.h>
^~~~~~~~~~~~
1 error generated.
make: *** [/home/cf/ndk/build/core/build-binary.mk:476: /home/cf/programs/SDL2-2.0.10/build/com.xverizex.sta/app/build/intermediates/ndkBuild/debug/obj/local/x86_64/objs-debug/freetype2-static/src/autofit/autofit.o] Error 1
но этот файл есть в include/
. Я пробывал поменять его на "ft2build.h"
, но тоже самое, не видит этого файла.
Надо заменить на эту строку и тогда всё заработает.
LOCAL_C_INCLUDES := $(LOCAL_PATH)/include_all \
$(LOCAL_PATH)/include \
$(FREETYPE_SRC_PATH)src
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
Функция erase(x) удаляет из multiset все элементы со значением x, есть ли способ или похожая структура данных, чтобы этого избежать и удалять только...
Base - наследник Derived()Если у обоих этих классов есть функция print(), и мы заходим ее вызвать от *b, то вызовется функция определенная для Base, хотя...
что нужно написать в цикле чтобы перевести каждый элемент стринга в инт и прибавить его в 'c'