Хочу скомпилировать игру для 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
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Функция erase(x) удаляет из multiset все элементы со значением x, есть ли способ или похожая структура данных, чтобы этого избежать и удалять только...
Base - наследник Derived()Если у обоих этих классов есть функция print(), и мы заходим ее вызвать от *b, то вызовется функция определенная для Base, хотя...
что нужно написать в цикле чтобы перевести каждый элемент стринга в инт и прибавить его в 'c'