小白都能看懂的交叉编译生成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
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

你可能感兴趣的:(环境配置)