首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >C)出错链接问题:输入文件i386:x86-64架构,与i386输出不兼容

C)出错链接问题:输入文件i386:x86-64架构,与i386输出不兼容
EN

Stack Overflow用户
提问于 2011-08-11 21:48:34
回答 3查看 71.6K关注 0票数 23

当我在终端中输入"make“时,我得到了这个带有错误信息的输出!!

代码语言:javascript
复制
gcc test1.o dispatchQueue.o -o test1 -pthread
/usr/bin/ld: i386:x86-64 architecture of input file `test1.o' is incompatible with i386     output
/usr/bin/ld: final link failed: Invalid operation
collect2: ld returned 1 exit status
make: *** [test1] Error 1

有没有人可以解释一下为什么和如何修复它?

我附加了makefile以防万一

代码语言:javascript
复制
# Comment out the targets you don't want.

# Runs all of the tests.
all: test1 test2 test3 test4 test5 testFor
    ./test1
    ./test2
    ./test3
    ./test4
    ./test5
    ./testFor

test1: test1.o dispatchQueue.o
    gcc test1.o dispatchQueue.o -o test1 -pthread

test1.o: test1.c
    gcc -c test1.c

test2: test2.o dispatchQueue.o
    gcc test2.o dispatchQueue.o -o test2 -pthread

test2.o: test2.c
    gcc -c test2.c

test3: test3.o dispatchQueue.o
    gcc test3.o dispatchQueue.o -o test3 -pthread

test3.o: test3.c
    gcc -c test3.c

test4: test4.o dispatchQueue.o
    gcc test4.o dispatchQueue.o -o test4 -pthread

test4.o: test4.c
    gcc -c test4.c

test5: test5.o dispatchQueue.o
    gcc test5.o dispatchQueue.o -o test5 -pthread

test5.o: test5.c
    gcc -c test5.c

testFor: testFor.o dispatchQueue.o
    gcc testFor.o dispatchQueue.o -o testFor -pthread

testFor.o: testFor.c
    gcc -c testFor.c

dispatchQueue.o: dispatchQueue.c dispatchQueue.h
    gcc -c dispatchQueue.c
EN

回答 3

Stack Overflow用户

发布于 2011-08-12 11:46:04

您可能有一些为i386-x64编译的旧文件(至少是test1.o)。您可以删除这些旧文件,然后再次运行make。如果可以修改Makefile,请尝试添加一行代码,如下所示:

代码语言:javascript
复制
clean:
    rm *.o test1 test2 test3 test4 test5 testFor

然后,当你运行make clean时,它会删除旧的东西,这时你可以再次运行make。

票数 39
EN

Stack Overflow用户

发布于 2013-07-24 20:25:12

我也遇到过类似的问题。对我来说,问题是目标文件是用i386架构生成的,而我试图链接到x86_64链接器。我删除了目标文件,使用x86_64选项重新生成它们,并再次尝试链接。它现在起作用了

票数 4
EN

Stack Overflow用户

发布于 2012-12-01 21:55:02

如果为系统生成了makefile,则应运行./configure以获取新文件,然后重新编译。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7027018

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档