如何使用gcc / cmake在64位Linux机器上编译32位二进制文​​件

是否有可能编译项目在32位cmakegcc一对64位系统?可能是,但是我该怎么做呢?

当我以“无知”的方式尝试它时,没有设置任何参数/ flags / etc,只是设置LD_LIBRARY_PATH在其中查找链接的库~/tools/lib似乎忽略了它,而只查看名为lib64的子目录。


红糖糍粑
浏览 1051回答 3
3回答

炎炎设计

在更高版本的CMake中,对每个目标执行此操作的一种方法是:set_target_properties(MyTarget PROPERTIES COMPILE_FLAGS "-m32" LINK_FLAGS "-m32")我不知道如何在全球范围内做到这一点。

一只名叫tom的猫

对于任何复杂的应用程序,我建议使用lxc容器。lxc容器“位于类固醇的chroot和成熟的虚拟机之间的中间位置”。例如,以下是在Ubuntu Trusty系统上使用lxc生成32位wine的方法:sudo apt-get install lxc lxc-templatessudo lxc-create -t ubuntu -n my32bitbox -- --bindhome $LOGNAME -a i386 --release trustysudo lxc-start -n my32bitbox# login as yourselfsudo sh -c "sed s/deb/deb-src/ /etc/apt/sources.list >> /etc/apt/sources.list"sudo apt-get install devscriptssudo apt-get build-dep wine1.7apt-get source wine1.7cd wine1.7-*debuild -eDEB_BUILD_OPTIONS="parallel=8" -i -us -uc -bshutdown -h now   # to exit the container这是有关如何使用lxc在64位主机上构建32位wine的Wiki页面。
打开App,查看更多内容
随时随地看视频慕课网APP