您的位置:首页 > 移动开发 > Android开发

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

2017-12-12 16:26 2731 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐