Compilation 在64位系统上运行的项目的makefile中需要更改为32位系统

Compilation 在64位系统上运行的项目的makefile中需要更改为32位系统,compilation,32bit-64bit,Compilation,32bit 64bit,64位系统的Makefile中需要做哪些更改才能在32位系统上构建 在64位服务器上: bash-3.2$ uname -a 2.6.18-128.el5 #1 SMP Wed Dec 17 11:41:38 EST 2008 x86_64 x86_64 x86_64 GNU/Linux 在32位服务器上: [root@localhost ~]# uname -a Linux localhost.localdomain 2.6.32-100.34.1.el6uek.i686 #1 SMP We

64位系统的Makefile中需要做哪些更改才能在32位系统上构建

在64位服务器上:

bash-3.2$ uname -a
2.6.18-128.el5 #1 SMP Wed Dec 17 11:41:38 EST 2008 x86_64 x86_64 x86_64 GNU/Linux
在32位服务器上:

[root@localhost ~]# uname -a
Linux localhost.localdomain 2.6.32-100.34.1.el6uek.i686 #1 SMP Wed May 25 17:28:36 EDT 2011 i686 i686 i386 GNU/Linux
生成错误时显示为:

usr/bin/ld: i386:x86-64 architecture of input file `./lib/libxml2.a(parser.o)' is incompatible with i386 output

这里的错误听起来像是你在尝试使用一个64位的.o文件。。。parser.o是您自己编译的吗?

它当然取决于Makefile的内容,也就是说,一般来说不可能这么说!生成文件本身不受影响。但编译器等的选项可能必须更改…错误正在出现,因为:usr/bin/ld:i386:x86-64输入文件“./lib/libxml2.a(parser.o)”的体系结构与i386输出不兼容