/ 中存储网

告诉你使用Ubuntu x86_64位元编译Android代码遇到的library问题(

2015-03-25 00:00:00 来源:中存储网

第一 通常编译在一开始会遇到如下状况

make: *** [out/host/linux-x86/obj/EXECUTABLES/aidl_intermediates/aidl]

Error 1 /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.2.4/libstdc++.so when searching for -lstdc++

/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.2.4/libstdc++.a when searching for -lstdc++

/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.2.4/libstdc++.so when searching for -lstdc++

/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.2.4/libstdc++.a when searching for -lstdc++

/usr/bin/ld: cannot find -lstdc++ collect2: ld returned 1 exit status

其找不到libstdc++,解决的方法是安装接下来套件

apt-get install g++-multilib

接下来又遇到类似相同问题:如下:

-o out/host/linux-x86/obj/EXECUTABLES/aapt_intermediates/aapt -lz -lrt

/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.3.2/../../../libz.so when searching for -lz

/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.3.2/../../../libz.a when searching for -lz

/usr/bin/ld: skipping incompatible /usr/lib/libz.so when searching for -lz /usr/bin/ld: skipping incompatible

/usr/lib/libz.a when searching for -lz /usr/bin/ld: cannot find -lz collect2: ld returned 1 exit status

make: *** [out/host/linux-x86/obj/EXECUTABLES/aapt_intermediates/aapt] Error 1

其找不到libz,解决方法为安装接下来套件

apt-get install lib32z1-dev

接著一样

/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.1/../../../libncurses.so when searching for -lncurses

/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.1/../../../libncurses.a when searching for -lncurses

/usr/bin/ld: skipping incompatible /usr/lib/libncurses.so when searching for -lncurses

/usr/bin/ld: skipping incompatible /usr/lib/libncurses.a when searching for -lncurses

/usr/bin/ld: cannot find -lncurses

collect2: ld returned 1 exit status

make: *** [out/host/linux-x86/obj/EXECUTABLES/adb_intermediates/adb] Error 1

apt-get install lib32ncurses5-dev