首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用gcc/cmake在64位linux机器上编译32位二进制文件

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

Stack Overflow用户
提问于 2009-08-13 14:35:28
回答 5查看 171.5K关注 0票数 131

是否可以在64位系统上使用cmakegcc在32位中编译项目?可能是,但我该怎么做呢?

当我尝试“无意识”的方式时,没有设置任何参数/标志/等,只是设置LD_LIBRARY_PATH来查找~/tools/lib中的链接库,它似乎忽略了它,只在名为lib64的子目录中查找。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-08-13 14:44:21

代码语言:javascript
复制
export CFLAGS=-m32
票数 127
EN

Stack Overflow用户

发布于 2010-07-30 06:03:37

在更高版本的CMake中,在每个目标上执行此操作的一种方法是:

set_target_properties(MyTarget PROPERTIES COMPILE_FLAGS "-m32" LINK_FLAGS "-m32")

我不知道有什么方法可以在全球范围内做到这一点。

票数 16
EN

Stack Overflow用户

发布于 2014-07-11 20:01:28

对于任何复杂的应用程序,我建议使用lxc container。lxc容器是“介于服用类固醇的chroot和完全成熟的虚拟机之间的东西”。

例如,这里有一种在Ubuntu可信系统上使用lxc构建32位wine的方法:

代码语言:javascript
复制
sudo apt-get install lxc lxc-templates
sudo lxc-create -t ubuntu -n my32bitbox -- --bindhome $LOGNAME -a i386 --release trusty
sudo lxc-start -n my32bitbox
# login as yourself
sudo sh -c "sed s/deb/deb-src/ /etc/apt/sources.list >> /etc/apt/sources.list"
sudo apt-get install devscripts
sudo apt-get build-dep wine1.7
apt-get source wine1.7
cd wine1.7-*
debuild -eDEB_BUILD_OPTIONS="parallel=8" -i -us -uc -b
shutdown -h now   # to exit the container

这是关于how to build 32-bit wine on a 64-bit host using lxc的维基页面。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1272357

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档