编译mongoose为32 BIT

时间:2011-06-29 14:25:38

标签: c ld

我将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

1 个答案:

答案 0 :(得分:0)

ld正在尝试从你的x86-32目标文件创建一个x86-64可执行文件,并且不高兴,因为这不是有意义的事情。使用GCC链接而不是ld,同时在链接处传递-m32,它将使用正确的标志调用链接器来链接x86-32二进制文件。