【发布时间】:2011-03-30 02:55:59
【问题描述】:
我目前正在我的 64 位 Ubuntu Pc 上用 c++ 编写一个小程序。默认情况下,eclipse 将程序编译为 64 位架构。因为我想在仍然是 32 位的服务器上使用我的小程序,所以我需要能够为 32 位编译我的程序。我怎么能在日食中做到这一点?我一直在摆弄设置,但没有任何效果......
干杯
【问题讨论】:
标签: c++ eclipse 32bit-64bit
我目前正在我的 64 位 Ubuntu Pc 上用 c++ 编写一个小程序。默认情况下,eclipse 将程序编译为 64 位架构。因为我想在仍然是 32 位的服务器上使用我的小程序,所以我需要能够为 32 位编译我的程序。我怎么能在日食中做到这一点?我一直在摆弄设置,但没有任何效果......
干杯
【问题讨论】:
标签: c++ eclipse 32bit-64bit
经过大量搜索和尝试,我自己找到了答案。如果您碰巧遇到同样的问题,这是一个可行的解决方案。 为此,必须安装以下软件包:
gcc/g++ 与 multilib
ia32-libs
然后右键单击您的项目,然后选择“属性”。 转到“C/C++ Build”并选择“设置”。在“GCC/G++ 编译器”下,将“-m32”添加到命令字段(该字段现在应该显示“g++ -m32”)。 对“GCC/G++ Linker”做同样的事情。
现在您已经添加了标志,这应该被编译为 32 位。 我正在使用 Eclipse Galileo,因为您的界面看起来不同。 我只在“发布”配置文件下添加了“-m32”标志,所以我的“调试”版本仍然是 64 位。
【讨论】:
apt-get install g++-multilib 是这里提到的用于安装 g++ multilib 库的命令。有时还需要apt-get install libc6-dev-i386,具体取决于应用程序所需的其他库。
对于那些寻找如何在 Linux (Ubuntu) 上安装 Basil 提到的库的人
$ apt-get install lib32gcc1 libc6-i386 lib32z1 lib32stdc++6
$ apt-get install lib32asound2 lib32ncurses5 lib32gomp1 lib32z1-dev lib32bz2-dev
$ apt-get install g++-multilib
来源:http://sixarm.com/about/ubuntu-apt-get-install-ia32-for-32-bit-on-64-bit.html
【讨论】: