64位SUSE编译32位程序出错

Posted 西瓜的夏天

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了64位SUSE编译32位程序出错相关的知识,希望对你有一定的参考价值。

These `-m’ switches are supported in addition to the above on AMD x86-64 processors in 64-bit environments. 
-m32 
-m64 
-mx32 
Generate code for a 32-bit or 64-bit environment.

  • The -m32 option sets int, long and pointer to 32 bits and generates code that runs on any i386 system.
  • The -m64 option sets int to 32bits and long and pointer to 64 bits and generates code for AMD’s x86-64 architecture.
  • The -mx32 option sets int, long and pointer to 32 bits and generates code for AMD’s x86-64 architecture.

For darwin only the -m64 option turns off the -fno-pic and -mdynamic-no-pic options.

因此在32位 linux  make编译文件的时候  gcc  -g -c 无需带-m32

在x86_64位linux make编译文件的时候   cc -m64 -g -c 是-m64必须带的。

 

可参考

http://blog.csdn.net/yyywill/article/details/54426900

 

以上是关于64位SUSE编译32位程序出错的主要内容,如果未能解决你的问题,请参考以下文章

ubuntu16 64位 编译64位程序和32位程序

编译 64 位 Linux 的 32 位 GTK+ 应用程序

64位linux编译32位程序

强制 gcc 在 64 位平台上编译 32 位程序

使用 gcc 32bit 编译,作为带有 -m64 的 64 位程序

centos64位编译32位程序