300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > arm linux gcc交叉编译 arm-linux-gcc交叉编译器安装

arm linux gcc交叉编译 arm-linux-gcc交叉编译器安装

时间:2019-11-26 23:00:03

相关推荐

arm linux gcc交叉编译 arm-linux-gcc交叉编译器安装

在网上下载arm-linux-gcc-4.4.3.tar.gz。

1、解压#tar-zxvfarm-linux-gcc-4.4.3.tar.gz

2、打开解压目录,将FriendlyARM文件夹拷贝到文件夹usr/local/。

cd /usr/local/

cp -rvFriendlyARM /usr/local/

(交叉编译程序集都在/usr/local/arm/4.4.3/bin)

3、修改环境变量,将交叉编译器的路径加入到PATH。

方法一(未测过):修改/etc/bash.bashrc文件

#vi /etc/bash.bashrc

在最后加上:

exportPATH=$PATH:/usr/local/FriendlyARM/toolschain/4.4.3/bin

exportPATH

方法二(测试,无用):修改/etc/profile文件:

#vi /etc/profile

增加路径设置,在末尾添加如下,保存/etc/profile文件:

exportPATH=$PATH:/usr/local/FriendlyARM/toolschain/4.4.3/bin

方法三:#exportPATH=$PATH:/usr/local/FriendlyARM/toolschain/4.4.3/bin

其实,直接采用方法三即可。

4、立即使新的环境变量生效。

对应方法一(未测过):#source/root/.bashrc

对应方法二(未测过):#source/etc/profile

5、检查是否将路径加入到PATH:

#echo$PATH

显示的内容中有/usr/local/FriendlyARM/toolschain/4.4.3/bin,说明已经将交叉编译器的路径加入PATH。

6、测试是否安装成功

#arm-linux-gcc-v

显示arm-linux-gcc信息和版本。arm-linux-gcc成功安装。

7、小试牛刀。

vi下编写hello.c程序。

int main(){

printf("hello!\n");

return 0;

}

#arm-linux-gcc hello.c -o hello (与gcc hello.c -o hello使用方法一样)。

有如下错误:

/usr/local/FriendlyARM/toolschain/4.4.3/bin/../libexec/gcc/arm-none-linux-gnueabi/4.4.3/cc1: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by /usr/local/FriendlyARM/toolschain/4.4.3/lib/libppl_c.so.2)

/usr/local/FriendlyARM/toolschain/4.4.3/bin/../libexec/gcc/arm-none-linux-gnueabi/4.4.3/cc1: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by /usr/local/FriendlyARM/toolschain/4.4.3/lib/libppl.so.7)

原因:strings/usr/lib/libstdc++.so.6|grepGLIBC,返回结果没有GLIBCXX_3.4.9,接着输入ls -l /usr/lib/libstdc++.so.6 ,结果为:

lrwxrwxrwx1rootroot1802-1319:06/usr/lib/libstdc++.so.6->libstdc++.so.6.0.8

libstdc++.so.6是个软链接,它链接到libstdc++.so.6.0.8。而libstdc++.so.6.0.8,没有`GLIBCXX_3.4.9'。版本过低。

解决办法:

一、网上下载libstdc++.so.6.0.10。放到/urs/lib目录下。

二、删除libstdc++.so.6。rm-rf/usr/lib/libstdc++.so.6。

三、重做libstdc++.so.6。软链接,ln-s/usr/lib/libstdc++.so.6.0.10/usr/lib/libstdc++.so.6.

然后,重新输入#arm-linux-gcc hello.c -o hello。可以看到编译成功。运行#hello,"cannot execute binary file".

arm-linux-gcc编译的文件只能在arm开发板上运行,所以此处提示正确。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。