这里简述一下操作步骤,本人使用的是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位程序。