64位Ubuntu对nasm产生的.o文件进行连接时的报错如何解决
在64位系统中,nasm产生的.o文件是32位的,而此时ld连接器默认是以64位的方式运行,因此产生报错ld: i386 architecture of input file [filename] is incompatible with i386:x86-64 output
,因此,只要将ld连接方式设置为32位即可解决问题,在进行ld连接时,使用命令ld -m elf_i386 -s -o [outputfilename] [inputfilename]
即可。其中-m elf_i386
表示对ld命令的配置。