如何在configure时,将编译参数传入,改变默认的编译器gcc成arm

 我来答
白衬衫吉他少
2017-03-17 · TA获得超过465个赞
知道小有建树答主
回答量:827
采纳率:10%
帮助的人:206万
展开全部
按照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 ……………….. 否则,就无法将我们的CC参数传入了: [crifan@localhost lrzsz-0.12.20]$ CC=arm-linux-gcc ./configure –prefix=/usr/crifan/lrzsz ……………….. checking for gcc… (cached) gcc checking whether the C compiler (gcc ) works… yes checking whether the C compiler (gcc ) is a cross-compiler… no checking whether we are using GNU C… (cached) yes ……………….. [crifan@localhost lrzsz-0.12.20]$ CFLAGS=-O2 CC=arm-linux-gcc ./configure –cache-file=cache_file_0 loading cache cache_file_0 ……………….. checking for gcc… arm-linux-gcc checking whether the C compiler (arm-linux-gcc -O2 ) works… yes checking whether the C compiler (arm-linux-gcc -O2 ) is a cross-compiler… yes checking whether we are using GNU C… yes 最好此处在加上–prefix=/usr/crifan/lrzsz,表示具体安装到哪里 [crifan@localhost lrzsz-0.12.20]$ CFLAGS=-O2 CC=arm-linux-gcc ./configure –cache-file=cache_file_0 –prefix=/usr/crifan/lrzsz loading cache cache_file_0 ……………….. checking for gcc… arm-linux-gcc checking whether the C compiler (arm-linux-gcc -O2 ) works… yes checking whether the C compiler (arm-linux-gcc -O2 ) is a cross-compiler… yes checking whether we are using GNU C… yes ……………….. 其中,/usr/crifan/lrzsz是已经建立好的,已经存在的文件夹,上面这样表示编译后, 将生成的可执行文件安装拷贝到那个目录.
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式