我正在尝试使用crosstool-ng及其生成的编译器为ARM处理器交叉编译zlib arm-linux-gnueabihf-gcc
。我将CC
变量设置为使用交叉编译器以及AR
和RANLIB
,然后./configure
按如下所示运行它们:
CC=arm-linux-gnueabihf-gcc AR=arm-linux-gnueabihf-ar RANLIB=arm-linux-gnueabihf-ranlib LDSHARED="arm-linux-gnueabihf-gcc -shared -Wl,-soname,libz.so.1" ./configure --shared --prefix=/usr
问题是它吐出了一个Makefile
没有AR
设置的变量,而是AR
设置为libtool,该变量用于我的本机Mac计算机。这是Makefile设置的内容:
AR=libtool ARFLAGS=-o RANLIB=ranlib
我可以手动编辑Makefile并进行更改AR=arm-linux-gnueabihf-ar
,ARFLAGS=rcs
从而修复了构建问题。但这对我来说是一个hack。这是配置脚本:
http://pastebin.com/trmJbPKb
有人看到我运行configure命令的方式有问题吗?
请尝试使用,CHOST=arm-linux-gnueabihf
而不要设置CC
,AR
等等。这将在命令之前加上该字符串。