Linux下64位GCC编译生成32位程序

这里简述一下操作步骤,本人使用的是Ubuntu 22.04,编译器版本是13.2.0,64位。


一 安装multilib

sudo apt install gcc-multilib g++-multilib

二 编译

如果是简单程序,不需要链接别的库,编译时添加编译选项"-m32"即可,如下,

gcc -m32 main.c -o main

如果程序比较复杂,且有其它32位库需要链接,此时可以使用cmake来管理工程,然后在CMakeLists.txt里添加如下两句,

add_compile_options(-m32)

add_link_options(-m32)

如果需要指定特定目标,则第二句可以换成target_link_options(target “-m32”)

这里不仅添加了编译选项"-m32",还添加了链接选项"-m32",这样才可以保证正确生成32位程序。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值