【问题标题】:how to write Android.mk files for multi-libs native c project?如何为多库原生 c 项目编写 Android.mk 文件?
【发布时间】:2011-08-23 06:29:46
【问题描述】:

我有一个 seGraphics 库,它依赖于 agg 库和 freetype 库。它们都是源文件 我想生成一个 seGraphics.a 文件。 我应该为每个编写一个 Android.mk 文件吗?怎么写? 蒂亚!

这是我的错误尝试:

#Android.mk for seGraphics
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)

include $(LOCAL_PATH)/../../Agg/Android.mk

LOCAL_CXXFLAGS := -I../../

LOCAL_MODULE := seGraphics

LOCAL_SRC_FILES := ../../seCommonGradientBrush.cpp ../../seHatchBrush.cpp  

LOCAL_CPP_EXTENSION := .cpp

include $(BUILD_STATIC_LIBRARY)

.

#Android.mk for agg
LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := agg

LOCAL_LDFLAGS :=  
LOCAL_CFLAGS := -O3

LOCAL_C_INCLUDES := /home/maadiah/android-ndk-r6/platforms/android-9/arch-arm/usr/include \
        $(LOCAL_PATH)/font_freetype \
        $(LOCAL_PATH)/gpc \
            $(LOCAL_PATH)/include \
            $(LOCAL_PATH)/include/utils

AGG_SRCS := \
    $(LOCAL_PATH)/font_freetype/agg_font_freetype.cpp \
    $(LOCAL_PATH)/gpc/gpc.cpp \
    $(LOCAL_PATH)/src/*.cpp \

LOCAL_CPP_EXTENSION := .cpp     

include $(BUILD_STATIC_LIBRARY)

【问题讨论】:

  • 如何交叉编译带有 freetype 支持的 agg?

标签: c++ android-ndk freetype


【解决方案1】:

我发现最好独立构建每个库(即 freetype 和 agg)。然后通过使用以下命令链接 freetype 和 agg 来构建 seGraphics:LD_FLAGS += -lfreetype -lagg。

【讨论】:

    猜你喜欢
    • 2011-02-15
    • 2023-03-21
    • 1970-01-01
    • 2020-01-13
    • 2012-09-03
    • 2020-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多