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。
任何其他解决此问题的想法将不胜感激。
您需要安装32位库,例如
dpkg --add-architecture i386
apt-get update
apt-get install libc6-i386
Run Code Online (Sandbox Code Playgroud)
您可以使用ldd命令找出需要哪些库。您可以使用apt-file查找这些库的软件包。