使用amd64内核(Debian)在i386 root上编译amd64二进制文件

时间:2015-03-27 23:59:57

标签: c++ linux 64-bit debian

我有一个相当古老的Debian测试系统,所有软件包都安装为i386。通常我正在运行PAE内核(linux-image-3.16.0-4-686-pae:i386)。

我正在尝试编译一个需要4 GB以上内存的简单C ++程序。我已经安装了linux-image-3.16.0-4-amd64:amd64内核,因为我认为在PAE机器上无法获得超过3GB的内存。

不幸的是,整个工具链/库仍然是i386。我想我需要一种特殊的GCC(multilib?)和一些库的amd64版本。

我已经找到了关于如何在64位rootfs系统上编译32位内容的教程,但不是相反。我不想仅仅为了这个测试而将整个系统交叉评级为amd64,所以:

有没有办法在此设置上安全地编译和运行64位代码,只需对系统进行必要的更改?理想情况下,将来可能会在此设置中进行交叉评分。或者,是否可以从Debian Live CD创建一个64位chroot环境,chroot到它,编译代码并从那里运行它?或者静态编译并在chroot外部运行它?

编辑:安装g ++ multilib解决了编译64位的问题(使用-m64选项)。任何人都可以帮我解决问题中的chroot / cross-grade部分吗?

0 个答案:

没有答案