链接器命令失败,退出代码1:重复的符号(Linker Command Failed with exi

2019-09-20 11:46发布

ld: duplicate symbol _velocityX in \
/Users/Student/Library/Developer/Xcode/DerivedData/finalproject-ffzevekmatxvhrgisgeleoijyllr/Build/Intermediates/finalproject.build/Debug-iphonesimulator/finalproject.build/Objects-normal/i386/Level2ViewController.o \
and \
/Users/Student/Library/Developer/Xcode/DerivedData/finalproject-ffzevekmatxvhrgisgeleoijyllr/Build/Intermediates/finalproject.build/Debug-iphonesimulator/finalproject.build/Objects-normal/i386/Level1ViewController.o \
for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

更新:添加\ +的可读性换行

我不知道有什么不对我的项目,任何人都可以帮忙吗?

Answer 1:

我有同样的问题。 但它是我的错。 :)。 你可能已经writen一个#import file.m代替#import file.h 。 所以编译资源将复制符号file.o. - 而已! ^^要看到它,便删除了错误文件,建立 - >显示错误行 - >然后重新复制它。



Answer 2:

我有同样的错误,那是因为我在两个独立的.m文件中定义具有相同名称的常数。 有一次,我在其中的一个改变了名字,它编译。

例如,在我ViewController.m我有:

#import "ViewController.h"
const int IPHONE4 = 480;

在我Menu.m:

#import "Menu.h"
const int IPHONE4 = 480;

我改变了我的Menu.m到:

#import "Menu.h"
const int IPHONE4H = 480;


Answer 3:

你可能有double _velocityX在双方包含头文件Level1ViewController.cLevel2ViewController.c ,当标题应该具有extern double _velocityX ,和完全一个 .c文件应该有double _velocityX 。 (假设的类型_velocityXdouble ,这似乎合理,并且还假设这是C或C ++,而不是的Fortran或东西)。



Answer 4:

我碰到了同样的错误,而试图几个框架,融入我的应用程序。

首先,我是用麻雀 - 图形库,默认情况下我有一个main.m文件,一切都很好,直到我试图整合解析这也依赖于FacebookSDK。 在FacebookSDK文件夹中有一个叫美味的示例应用程序使用的main.m以及这是我的问题的根源。 我除去了精细的示例应用程序目录和一切。



文章来源: Linker Command Failed with exit code 1: duplicate symbol