我将make文件修改为
linux:
$(CC) mongoose.c -shared -fPIC -fpic -m32 -o $(LIB) $(LINFLAGS)
$(CC) mongoose.c main.c -m32 -o $(PROG) $(LINFLAGS)
但是当我在mongoose上运行ld时,我得到了。我收到警告说它与i386不兼容
ld mongoose
ld: warning: i386 architecture of input file `mongoose' is incompatible with i386:x86-64 output
答案 0 :(得分:0)
ld正在尝试从你的x86-32目标文件创建一个x86-64可执行文件,并且不高兴,因为这不是有意义的事情。使用GCC链接而不是ld,同时在链接处传递-m32,它将使用正确的标志调用链接器来链接x86-32二进制文件。