为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

红糖糍粑 2019-11-08 10:50:05
是否有可能编译项目在32位与cmake和gcc一对64位系统?可能是,但是我该怎么做呢?当我以“无知”的方式尝试它时,没有设置任何参数/ flags / etc,只是设置LD_LIBRARY_PATH在其中查找链接的库~/tools/lib似乎忽略了它,而只查看名为lib64的子目录。
查看完整描述

3 回答

?
炎炎设计

TA贡献1808条经验 获得超4个赞

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


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


我不知道如何在全球范围内做到这一点。


查看完整回答
反对 回复 2019-11-08
?
一只名叫tom的猫

TA贡献1906条经验 获得超3个赞

对于任何复杂的应用程序,我建议使用lxc容器。lxc容器“位于类固醇的chroot和成熟的虚拟机之间的中间位置”。


例如,以下是在Ubuntu Trusty系统上使用lxc生成32位wine的方法:


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

这是有关如何使用lxc在64位主机上构建32位wine的Wiki页面。


查看完整回答
反对 回复 2019-11-08
  • 3 回答
  • 0 关注
  • 1050 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信