[hellogcc] Re: [hellogcc] Re: [hellogcc] 【投稿】交叉编译gdb,水哥和yao多指点指点。

  • From: Liu <proljc@xxxxxxxxx>
  • To: hellogcc@xxxxxxxxxxxxx
  • Date: Fri, 7 Jan 2011 08:46:33 +0800

2011/1/6 Yao Qi <qiyaoltc@xxxxxxxxx>:
> 2011/1/6 Liu <proljc@xxxxxxxxx>:
>
> 一点点个人看法 :)
>
>>
>> 以MIPS为例,我们会得到3个目标:
>
> “目标” 有点不太合适。
恩,“目标”改成“产物”?或者?
>
>> 1,运行在MIPS上的gdb。
>> 2,运行在MIPS上的gdb-server。
>> 3,运行在x86上的 交叉gdb。
>> 目标1用来在MIPS的板子上直接运行,ssh过去调试的时候用这个。
>> 目标2和目标3配合起来做远程调试,具体怎么用我还不会。
>>
>> 下来结合步骤来说一下build的方法:
>>
>> gdb需要termcap,这样需要自己build出来一个,当然,本机的libncurese-dev还是要安装的。因为本机安装的libncurese-dev是给目标3用的。我们现在build的这个termcap是给目标1和目标2用的。
>>
>
> 我是看明白了,但是可能有点疑惑别人。
> 1 libncurese-dev 和 termcap 的关系没有说清除,
> 2 libncurese-dev 和 termcap 对于 1和3都是需要的,不管是你native build 还是cross build
> 3 你这里给目标1和目标2 build termcap,应该是因为你的目标板子上没有这个库。
>
恩,libncurese-dev包含了termcap,因为是静态编译,所以不管目标板上有没有,我们就自己解决了吧。

>> tar vxf ${SOURCE}/termcap-1.3.1.tar.gz
>> cd termcap-1.3.1/
>> 不解释
>>
>> CC="${CROSS_TARGET}-gcc ${BUILD64}" \
>> RANLIB="${CROSS_TARGET}-ranlib" \
>> ./configure --prefix=/tools --host=${CROSS_TARGET} --target=${CROSS_TARGET}
>> 这个需要我们指定MIPS的交叉编译器。--host指的是编译出来的gdb运行在什么平台下,这里必然是MIPS了。
>
> 最好解释一下 --target。
--target这个参数,不好说。
--build这个参数的意思是,你在什么机器上输入的make命令,一般都是x86了。
--host这个参数指的是,你make出来的东西,在什么机器上运行,我这里是MIPS64.
--target嘛,如果是gcc的话,代表的意思是,make出来的gcc会为target知名的平台输出代码。binutils一样。gdb,我还真不知道怎么解释了。

yao多多代劳吧:)

>
> --
> Yao Qi <qiyaoltc AT gmail DOT com>
> http://sites.google.com/site/duewayqi/
>

Other related posts:

  • » [hellogcc] Re: [hellogcc] Re: [hellogcc] 【投稿】交叉编译gdb,水哥和yao多指点指点。 - Liu