binutils configuration的一个问题
对于交叉编译器,在做configuration的时候,一般需要指定build, host和target,下面是gcc安装手册中的说法:所谓的 "build machine" 指的是你目前正在使用的机器;而"host machine" 则是你期望编译後所产生的编译器工作的机器;最後 "target machine" 则是你期望这个编译器(正在做编译的那个)产生的目的码的主机。(一般而言,前两者是相同的)。
configuration的help给出如下说明:
System types:
--build=BUILD configure for building on BUILD
--host=HOST cross-compile to build programs to run on HOST
--target=TARGET configure for building compilers for TARGET
那么我在配置的时候,为了让编译器在powerpc机器上运行,给出如下命令:
../binutils-%{binutils_ver}/configure \
--target=powerpc-none-linux-gnuspe \
--build=i686-pc-linux-gnu \
--host=powerpc-unknown-linux-gnu \
--prefix=%{prefix} \
--with-sysroot=%{prefix}/%{tc_target}/libc \
--disable-nls
为什么编译过程会出错,错误是"make: powerpc-unknown-linux-gnu-ar: Command not found",我的build machine是i686,应该使用i686-pc-linux-gnu的前缀阿!
回复 #1 harry_he 的帖子
你编译出来的binutils是运行在powerpc上的,这一点和一般的应用程序没有什么两样,所以你需要一个i686到powerpc的交叉编译器来编译你的binutils。 谢谢,我理解错了
页:
[1]