我尝试为arm-poky-linux-gnueabi交叉编译zlib,但启动 make 时出现错误:
...:~/zlib-1.2.11$ AR=$HOST-ar CC=$HOST-gcc RANLIB=$HOST-ranlib ./configure --prefix=$HOME/zlibARM
Checking for shared library support...
Building shared library libz.so.1.2.11 with arm-poky-linux-gnueabi-gcc.
Checking for size_t... Yes.
Checking for off64_t... Yes.
Checking for fseeko... Yes.
Checking for strerror... Yes.
Checking for unistd.h... Yes.
Checking for stdarg.h... Yes.
Checking whether to use vs[n]printf() or s[n]printf()... using vs[n]printf().
Checking for vsnprintf() in stdio.h... Yes.
Checking for return value of vsnprintf()... Yes.
Checking for attribute(visibility) support... Yes.
...:~/zlib-1.2.11$ make
arm-poky-linux-gnueabi-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -I. -c -o example.o test/example.c
make: execvp: arm-poky-linux-gnueabi-gcc : Trop de niveaux de liens symboliques
Makefile:147: recipe for target 'example.o' failed
make: *** [example.o] Error 127
你能帮助我吗 ?
我知道这篇文章已经发布了 7 个月,但我能够使用以下配置命令成功地为 ARM(在 MacOS 上)交叉编译 zlib:
CHOST=arm \
CC=<PATH_TO_CROSS_GCC> \
AR=<PATH_TO_CROSS_AR> \
RANLIB=<PATH_TO_CROSS_RANLIB> \
./configure \
--prefix=<INSTALL_PATH>
Where PATH_TO_CROSS_GCC
, PATH_TO_CROSS_AR
and PATH_TO_CROSS_GCC
指向交叉编译工具(在我的例子中,我使用 crosstool-NG)。
最终使它对我有用的是指定CHOST=arm
,这导致它实际使用指定的ar
.
希望这可以帮助以后的人。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)