交叉编译生成64位程序

一、前言:本人使用arm-linux-gcc编译生成32位执行程序后,在TX2上不能运行,同时在TX2上安装ia32-libs各种失败!

二、蛋疼ing

  • 下载gcc-linaro-aarch64-linux-gnu-4.9-2014.07_linux
  • 解压到你喜欢的目录,这里假设是用户目录~
  • 在.bashrc中加入export PATH=~/gcc-linaro-aarch64-linux-gnu-4.9-2014.07_linux/bin:$PATH
  • source ~/.bashrc或重启终端
  • 测试,祭出x.cpp

  • #include<stdio.h>
    int main()
    {
    printf("hello world!\n");
    }
  • aarch64-linux-gnu-gcc x.cpp -o xx即可生成能在TX2上运行的程序。

三、后记

  • 如果出现no such file or directory,则在.bashrc中使用绝对路径。
  • 如果提示libstdc++.so.6.0找不到或wrong ELF class: ELFCLASS64,则将/usr/lib32下的libstdc++.so.6.0拷贝到/usr/lib。
  • 如果/usr/lib32下没有libstdc++.so.6.0,则执行sudo apt-get install lib32stdc++6
发布了50 篇原创文章 · 获赞 31 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/random_repick/article/details/78916917
今日推荐