记录一下最近android7.1.1编译出现的问题

1, 模块编译提示错误: 
build/core/shared_library.mk:12: *** libsurface_decode: LOCAL_MODULE_PATH for shared libraries is unsupported in multiarch builds, use LOCAL_MODULE_RELATIVE_PATH instead.
make: *** [out/build-msm8953_64-mmm-vendor_pad_library_decoder_Android.mk.ninja] Error 1
解决方法: 

将出错模块的Android.mk 文件里的LOCAL_MODULE_PATH 改为LOCAL_MODULE_PATH_64 (64bit)


2,

ninja: error: 'out/target/product/msm8953_64/obj/SHARED_LIBRARIES/libvpu_intermediates/export_includes', needed by 'out/target/product/msm8953_64/obj/SHARED_LIBRARIES/libsurface_decode_intermediates/import_includes', missing and no known rule to make it

解决方法:去掉mak文件中的一大堆依赖库,这是从其他模块移植过来的,没有这些库文件。


3,LOCAL_SHARED_LIBRARIES := 方式定义的动态链接库老是找不到。

android.mak使用LOCAL_SHARED_LIBRARIES :=链接了两个动态库,结果一直提示无法找到该库文件


解决方法:android.mk中链接动态库方式改为LOCAL_LDFLAGS:= -L$(LOCAL_PATH) -lXXXXX

LOCAL_LDFLAGS用法如下:

LOCAL_LDFLAGS:这个编译变量传递给链接器一个一些额外的参数,比如想传递而外的库和库路径给ld,或者传递给ld linker的一些链接参数,-On,-EL{B}(大小端字节序),那么就要加到这个上面,如:

LOCAL_LDFLAGS += -L$(LOCAL_PATH)/lib/ -lHWrecog –EB{EL} –O{n} …


5,提示一大堆 error: cast from pointer to smaller type 'unsigned int' loses information


解决方法:

指针的强制转换类型改为:unsigned long



你可能感兴趣的:(记录一下最近android7.1.1编译出现的问题)