免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3263 | 回复: 11
打印 上一主题 下一主题

交叉编译问题求教 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-03-17 20:27 |只看该作者 |倒序浏览
各位大虾,想请教一个关于交叉编译的问题,望能解答!!
是这样的,我想在PC机上交叉编译一个已经移植好了的gcc编译器(有源码),假定为xxx-gcc(xxx为此这个DSP芯片的名字),我PC机的系统是Ubuntu系统,交叉编译的话,是不是只要编译这个gcc就好了,即cofigure-->make--->make install。
需要按照1. 下载源文件、补丁和建立编译的目录 2. 建立内核头文件 3. 建立二进制工具(binutils) 4. 建立初始编译器(bootstrap gcc) 5. 建立c库(glibc) 6. 建立全套编译器(full gcc)这个步骤来吗?
我暂时只想得到一个可用的gcc,不关心glibc库,二进制工具链等
求教了!!!

论坛徽章:
2
摩羯座
日期:2013-10-10 14:29:04天蝎座
日期:2014-01-03 09:14:49
2 [报告]
发表于 2012-03-18 10:02 |只看该作者
一言难尽呢,呵呵。网上搜一下类似的介绍。

论坛徽章:
0
3 [报告]
发表于 2012-03-18 21:01 |只看该作者
在已经有移植了的gcc的源码,直接在linux平台(安装有gcc)上编译就可以了吗?跟glibc和工具链有关系吗?我觉得是没关系,但不能确定。
我的命令行是这样的:

% ../gcc-3.3/configure --prefix=/usr/local/gcc-3.3 --target=XXX-linux --enable-threads=posix --disable-checking --disable-multilib --enable-languages=c --with-gmp=/usr/local/gmp-5.0.4 --with-mpfr=/usr/local/mpfr-3.1.0 --with-mpc=/usr/local/mpc-0
请问是否正确的,但是make时会有错误:
/home/shaw/Tool/build-tools/build-gcc-XXX/gcc/gengtype-yacc.y:162: undefined reference to `lexer_line'
/home/shaw/Tool/build-tools/build-gcc-XXX/gcc/gengtype-yacc.y:173: undefined reference to `lexer_line'
/home/shaw/Tool/build-tools/build-gcc-XXX/gcc/gengtype-yacc.y:173: undefined reference to `lexer_line'
/home/shaw/Tool/build-tools/build-gcc-XXX/gcc/gengtype-yacc.y:119: undefined reference to `lexer_line'
gengtype-yacc.o:/home/shaw/Tool/build-tools/build-gcc-XXX/gcc/gengtype-yacc.y:228: more undefined references to `lexer_line' follow
gengtype-yacc.o: In function `yyparse':
/home/shaw/Tool/build-tools/build-gcc-XXX/gcc/gengtype-yacc.y:81: undefined reference to `lexer_toplevel_done'
/home/shaw/Tool/build-tools/build-gcc-XXX/gcc/gengtype-yacc.y:107: undefined reference to `lexer_toplevel_done'
collect2: ld returned 1 exit status
make[1]: *** [gengtype] Error 1
make[1]: Leaving directory `/home/shaw/Tool/build-tools/build-gcc-XXX/gcc'
make: *** [all-gcc] Error 2
大虾帮解答解答啊!!

论坛徽章:
2
摩羯座
日期:2013-10-10 14:29:04天蝎座
日期:2014-01-03 09:14:49
4 [报告]
发表于 2012-03-19 09:16 |只看该作者
这些是lex, yacc的错误,你的机器上装有flex和bison了么?

论坛徽章:
0
5 [报告]
发表于 2012-03-19 18:32 |只看该作者
这些我都装了呀

论坛徽章:
0
6 [报告]
发表于 2012-03-19 18:33 |只看该作者
哎,今天编译了下binutils也有问题:
configure: error: GAS does not know what format to use for target tricore-unknown-linux-gnu
Configure in /home/shaw/Tool/build-tools/tricore-binutils/gas failed, exiting.
汇编器不识别格式?

论坛徽章:
2
摩羯座
日期:2013-10-10 14:29:04天蝎座
日期:2014-01-03 09:14:49
7 [报告]
发表于 2012-03-19 18:58 |只看该作者
binutils是不是没有移植?target tricore不识别。

论坛徽章:
0
8 [报告]
发表于 2012-03-19 21:09 |只看该作者
我参考了一个交叉编译arm的文档,他是先编译binutils,然后编译gcc的,我也按照他的方法编译了针对arm的交叉编译,也能顺利通过
但是,编译tricore这个芯片的binutils就有错误,不明白呀!!

论坛徽章:
0
9 [报告]
发表于 2012-03-19 21:10 |只看该作者
EricFisher 发表于 2012-03-19 09:16
这些是lex, yacc的错误,你的机器上装有flex和bison了么?


这个问题,还请大牛帮解决下呀!!

论坛徽章:
2
摩羯座
日期:2013-10-10 14:29:04天蝎座
日期:2014-01-03 09:14:49
10 [报告]
发表于 2012-03-20 08:52 |只看该作者
binutils缺省应该没有支持tricore。你确定你的binutils支持这个tricore么?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP