如何在configure时,将编译参数传入,改变默认的编译器gcc成arm-linux-gcc 【问题】想要用交叉编译工具arm-linux-gcc去编译lrzsz, 但是在./configure的时候,无法用--host=arm-linux或--build=arm-linux或--target=arm-linux等传入此编译器参数。按照INSTALL中的介绍,也是常用的方法,在configure的时候,加上--host=arm-linux,结果没有实现我们要的效果,没有将编译器从默认的 gcc改成arm-linux-gcc,编译器还是用的默认的gcc:[crifan@localhost lrzsz-0.12.20]$ CFLAGS=-O2 ./configure --host=arm-linux loading cache ./config.cache .................... checking for gcc... (cached) gcc checking whether the C compiler (gcc -O2 ) works... yes checking whether the C compiler (gcc -O2 ) is a cross-compiler... no ....................后来经过多次尝试,最后受默认的 CFLAGS=-O2 ./configure 进行配置所启发,想到,是否可以将CC参数传入到configure中, 结果证实,如果没有自己的cache-file,即时加了对的CC参数,也还是无法传入: [crifan@localhost lrzsz-0.12.20]$ CFLAGS=-O2 CC=arm-linux-gcc ./configure --host=arm-linux loading cache ./config.cache .................... checking for gcc... (cached) gcc checking whether the C compiler (gcc -O2 ) works... yes checking whether the C compiler (gcc -O2 ) is a cross-compiler... no checking whether we are using GNU C... (cached) yes ....................而且,如果CC参数放在configure后面: ./configure CC=arm-linux-gcc 则不能识别: [crifan@localhost lrzsz-0.12.20]$ CFLAGS=-O2 ./configure CC=arm-linux-gcc configure: warning: CC=arm-linux-gcc: invalid host type ....................参数传递必须像 CFLAGS=-O2 ./configure 一样,将参数设置放在configure的前面: CC=arm-linux-gcc./configure 才能识别的。 必须要自己制定自己的cache-file 然后用./configure进行新配置,加上CC参数,才会即时生效,编译器才可以变成我们要的arm-linux-gcc: [crifan@localhost lrzsz-0.12.20]$ CC=arm-linux-gcc ./configure --cache-file=cache_file_0 --prefix=/usr/crifan/lrzsz .................... checking for gcc... arm-linux-gcc checking whether the C compiler (arm-linux-gcc ) works... yes checking whether the C compiler (arm-linux-gcc ) is a cross-compiler... yes checking whether we are using GNU C... yes ....................