无法在64位Debian上运行32位二进制文​​件

G3y*_*ost 5 c++ linux 64-bit 32-bit 32bit-64bit

我正在Debian Linux(64位)上编译C ++,并且需要能够将另一个系统编译为32位。这些二进制文件无法在我的64位系统上运行,而让它们运行在那里将更加方便测试。

我的用于测试此内容的C ++ int main () { std::cout << "This is Main.cpp" << std::endl; }包含iostream,因此没有任何幻想。

我的编译行是 g++ -m32 Main.cpp

当我这样做./a.out,我得到-bash: ./a.out: cannot execute binary file: Exec format error

我已经做了很多搜索来尝试解决此问题并安装了apt:libc6:i386,libncurses5:i386和libstdc ++ 6:i386。

任何其他解决此问题的想法将不胜感激。

Xyp*_*ron 8

您需要安装32位库,例如

dpkg --add-architecture i386
apt-get update
apt-get install libc6-i386
Run Code Online (Sandbox Code Playgroud)

您可以使用ldd命令找出需要哪些库。您可以使用apt-file查找这些库的软件包。