春山眉黛~xvid.mk文件書寫注意事項

一、
vendor/sprd/proprietories-source/sprd_codecs/xvid//src/portab.h:134:6: error: You are trying to compile Xvid without defining address bus size.
#    error You are trying to compile Xvid without defining address bus size.
     ^
vendor/sprd/proprietories-source/sprd_codecs/xvid//src/portab.h:372:10: error: You are trying to compile Xvid without defining the architecture type.
#        error You are trying to compile Xvid without defining the architecture type.
         ^
solution:add ---LOCAL_CFLAGS += -DARCH_IS_32BIT -DARCH_IS_GENERIC -Wno-int-to-pointer-cast -Wno-implicit-function-declaration --std=c99 
          to .mk document
reason:portab.h 配置信息不完善ARCH_IS_32BIT、ARCH_IS_GENERIC,需要將這些信息寫入.mk文件中


二、
vendor/sprd/proprietories-source/sprd_codecs/xvid/examples/xvid_encraw.c:57:10: fatal error: 'xvid.h' file not found
#include "xvid.h"


solution :將.mk文件重新命名,放在了統一的路徑下面,在整體的Android.mk文件中加入include $(LOCAL_PATH)/xvid.mk、include $(LOCAL_PATH)/xvid_encraw.mk
重新寫.mk文件中頭文件和源文件的路徑
XVID_PATH := xvid/
...
LOCAL_SRC_FILES := \
$(XVID_PATH)/examples/xvid_encraw.c \

LOCAL_C_INCLUDES := \
$(LOCAL_PATH)/$(XVID_PATH)/src \
編譯通過


三、

書寫一個.mk文件需要修改的地方


xvid_encraw.mk


LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
XVID_PATH := xvid/  //方便寫路徑
LOCAL_MODULE := utest_sw_xvidenc //生成文件的名稱

LOCAL_MODULE_TAGS := debug


LOCAL_CFLAGS := -fno-strict-aliasing -Wno-date-time -D_VSP_LINUX_ -D_VSP_
LOCAL_CFLAGS += -DARCH_IS_32BIT -DARCH_IS_GENERIC -Wno-int-to-pointer-cast -Wno-implicit-function-declaration --std=c99 //文件需要進行的配置信息,要包含的define信息


LOCAL_PRELINK_MODULE := false
LOCAL_ARM_MODE := arm


LOCAL_SRC_FILES := \
$(XVID_PATH)/examples/xvid_encraw.c \  //源文件路徑和文件名稱

LOCAL_C_INCLUDES := \
$(LOCAL_PATH)/$(XVID_PATH)/src \  //頭文件路徑


LOCAL_SHARED_LIBRARIES :=  libomx_xvid_sw  //編譯這個源文件需要調用的庫的名稱



LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
LOCAL_PROPRIETARY_MODULE := true


include $(BUILD_EXECUTABLE)


Android.mk


LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)


ifeq ($(strip $(TARGET_VSP_PLATFORM)),whale)
include $(LOCAL_PATH)/h265dec_hw.mk
include $(LOCAL_PATH)/h265enc_hw.mk
include $(LOCAL_PATH)/vspenc_hw.mk
endif


ifeq ($(strip $(TARGET_VSP_PLATFORM)),iwhale2)
include $(LOCAL_PATH)/h265dec_hw.mk
include $(LOCAL_PATH)/h265enc_hw.mk
include $(LOCAL_PATH)/vp9dec_hw.mk
include $(LOCAL_PATH)/vp9enc_hw.mk
endif




include $(LOCAL_PATH)/h264dec_hw.mk
include $(LOCAL_PATH)/h264dec_sw.mk
include $(LOCAL_PATH)/h264enc_hw.mk
include $(LOCAL_PATH)/m4vh263dec_hw.mk
include $(LOCAL_PATH)/m4vh263dec_sw.mk
include $(LOCAL_PATH)/m4vh263enc_hw.mk
include $(LOCAL_PATH)/vpxdec_hw.mk
include $(LOCAL_PATH)/m4vh263enc_sw.mk
include $(LOCAL_PATH)/xvid.mk
include $(LOCAL_PATH)/xvid_encraw.mk
 //添加這兩個文件,編譯的過程中就會調用這兩個新寫好的mk文件來處理。



include $(call all-makefiles-under,$(LOCAL_PATH))

四、編譯過程中遇見的類型檢查報錯問題處理

更改編譯的環境,le不能通過,原因暫時不明~

發佈了29 篇原創文章 · 獲贊 1 · 訪問量 7147
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章