在Linux上使用不同的工具链和configure

时间:2013-09-12 14:24:30

标签: linux gcc arm toolchain

我的目标系统(arm)的工具链正确安装在$ TOOLCHAIN。

ls $TOOLCHAIN的输出为:bin debug-root include lib lib32 lib64 sysroot

bin / *的内容没有前缀,即gcc,g ++,as,...

现在,我有一个应用程序的源代码分发,我想用这个目标系统的给定工具链进行编译。源代码分发包含 configure 脚本。

怎么做?提前谢谢。

1 个答案:

答案 0 :(得分:1)

构建交叉编译器/ binutils通常非常困难,并且它不允许您测试您的程序 虚拟机速度非常慢,并且会产生强烈的分离,这使得难以在主机和VM之间共享文件。

最简单的解决方案是Qemu-User-static:系统调用和指令以用户模式包装到本机内核。

下载或解压缩rootfs。

  • 将其复制到您真实根目录的子文件夹中。
  • 将qemu-user- (mips arch的名称) -static复制到目标目录的根目录。
  • 正确绑定一切。
  • 将/etc/resolv.conf复制到/your_path_to_target/etc/resolv.conf
  • 通过执行/ bin / bash Chroot to it。
  • 使用rootfs就像使用真正的基于mips的计算机一样。

事情变得非常简单:许多库都没有编译,因为像硬编码路径(你会遇到很多;很多问题,比如你有交叉编译的那个,典型案例)。这一切都好像你本地构建软件包一样,你必须输入./configure