我正在我的64位Ubuntu电脑上使用c++编写一个小程序。默认情况下,Eclipse会将程序编译为64位架构。由于我想在仍然是32位的服务器上使用我的小程序,所以我需要能够为32位编译我的程序。如何在Eclipse中实现?我已经尝试了一段时间的设置,但都没有用...
干杯
我正在我的64位Ubuntu电脑上使用c++编写一个小程序。默认情况下,Eclipse会将程序编译为64位架构。由于我想在仍然是32位的服务器上使用我的小程序,所以我需要能够为32位编译我的程序。如何在Eclipse中实现?我已经尝试了一段时间的设置,但都没有用...
干杯
经过大量的搜索和尝试后,我自己找到了答案。如果您遇到同样的问题,这是一个有效的解决方案。
为了使此解决方案起作用,必须安装以下软件包:
带有multilib的gcc/g++
ia32-libs
然后右键单击您的项目,并选择“属性”。 进入“C/C++ Build”,并选择“设置”。在“GCC/G++编译器”下,在命令字段中添加“-m32”(该字段现在应显示为“g++ -m32”)。 在“GCC/G++链接器”下做同样的操作。
现在,您已经添加了该标志,应该将其编译为32位。 我正在使用Eclipse Galileo,以防您的界面看起来不同。 我只在“Release”配置文件下添加了“-m32”标志,所以我的“Debug”构建仍是64位。
如果您需要在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
apt-get install g++-multilib
是用于安装此处提到的 g++ multilib 库的命令。有时还需要apt-get install libc6-dev-i386
,这取决于应用程序所需的其他库。 - ViFI