私はAndroidでfreetype2.4.2をコンパイルしましたが、FT_Set_Char_Size()を使おうとすると、この行のFT_Request_Size()関数のftobjs.cファイルでクラッシュします。
error = clazz->request_size( face->size, req ); //line 2832
私のコードは、Windows、Linux、Mac、iPhone、iPadで完全に機能します。しかし、ここに取引があります。/ Za "Disable Language Extensions"を使用してfreetypeをコンパイルするまで、Windows(vc ++)の同じ場所でまったく同じ問題が発生していました。
したがって、クラッシュの原因となっているのは、Androidでfreetypeがコンパイルされている方法であると確信しています。私は無駄にアンドロイドで言語拡張機能を無効にする方法を調べました。
これがfreetype用の私のAndroid.mkファイルです
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_C_INCLUDES += \
$(LOCAL_PATH)/builds \
$(LOCAL_PATH)/include
LOCAL_SRC_FILES:= \
src/base/ftbbox.c \
src/base/ftbitmap.c \
src/base/ftglyph.c \
src/base/ftstroke.c \
src/base/ftxf86.c \
src/base/ftbase.c \
src/base/ftsystem.c \
src/base/ftinit.c \
src/base/ftgasp.c \
src/raster/raster.c \
src/sfnt/sfnt.c \
src/smooth/smooth.c \
src/autofit/autofit.c \
src/truetype/truetype.c \
src/cff/cff.c \
src/psnames/psnames.c \
src/pshinter/pshinter.c \
src/type1/type1.c \
src/cid/type1cid.c \
src/pfr/pfr.c \
src/type42/type42.c \
src/winfonts/winfnt.c \
src/pcf/pcf.c \
src/psaux/psaux.c \
src/bdf/bdf.c \
src/gzip/ftgzip.c \
src/lzw/ftlzw.c
LOCAL_CFLAGS += -DFT2_BUILD_LIBRARY
LOCAL_MODULE := freetype
LOCAL_LDLIBS := -ldl -llog
include $(BUILD_STATIC_LIBRARY)
私の完全なプロジェクトはここにあります
http://digitalknob.googlecode.com
正常にコンパイルされ、エラーは発生しません。FT_Set_Char_Size()を使用するとクラッシュするだけです。数日間私を夢中にさせてくれます:Pどんな助けでも大歓迎です。