Makefile zlib build未正确配置交叉编译器,是否忽略AR?

Makefile zlib build未正确配置交叉编译器,是否忽略AR?,makefile,cross-compiling,zlib,configure,Makefile,Cross Compiling,Zlib,Configure,我正在尝试使用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 -share

我正在尝试使用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
,从而修复构建。但这对我来说是一种恶作剧。以下是配置脚本:


有人看到我运行configure命令的方式有什么问题吗?

尝试使用
CHOST=arm-linux-gnueabihf
而不是设置
CC
AR
等,这些设置将在命令前面加上该字符串。

您在os x上吗?另一个咒语:/…/mingw-w64-i686/bin/i686-w64-mingw32-ar-o libz.a adler32.o crc32.o deflate.o infback.o inffast.o inflate.o inftrees.o trees.o zutil.o compress.o uncr.o gzclose.o gzlib.o gzread.o gzwrite.o/U../mingw-w64-i686-i686/bin/i686-w64-mingw32-w32-ar:未指定操作(可能是因为没有uname)你是建议在这里做CHOST=XXX吗?出于某种原因,我似乎没有把[1.2.8]放在这里,尽管我把他们都叫出来了……也许你需要写一个新问题。@rogerdpack你需要把
CHOST=*
放在
.configure
之前,而不是之后。最后,我似乎像
/configure&&make AR=XX CC=XX那样交叉编译了它。。。ARFLAGS=rcs
(这是为了使它能够为windows编译)FWIW