我们进入barras根目录,直接make,看到的错误如下:
错误原因:
nasm
编译产生的是32
位的目标代码,gcc
在64
位平台上默认产生的是64
位的目标代码,这两者在链接的时候出错,gcc
在64
位平台上默认以64
位的方式链接。
解决方法:
2.在ld的后面添加-m elf_i386
让gcc
产生32
位的代码,并在链接的时候以32
位的方式进行链接
1.在gcc的后面添加-m32
这个时候,我们先make clean一下,然后在make,会看到以下错误:
解决方法:
需要告诉as编译器要把代码编译成32位代码
在所有的as的后面添加--32
修改完之后,我们先make clean一下,然后在make,就会编译成功啦。
更详细的请参考视频教程:
http://www.duobei.com/course/1574348473