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)
更新:添加\ +的可读性换行
我不知道有什么不对我的项目,任何人都可以帮忙吗?
我有同样的问题。 但它是我的错。 :)。 你可能已经writen一个#import file.m
代替#import file.h
。 所以编译资源将复制符号file.o. - 而已! ^^要看到它,便删除了错误文件,建立 - >显示错误行 - >然后重新复制它。
我有同样的错误,那是因为我在两个独立的.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;
你可能有double _velocityX
在双方包含头文件Level1ViewController.c
和Level2ViewController.c
,当标题应该具有extern double _velocityX
,和完全的一个 .c
文件应该有double _velocityX
。 (假设的类型_velocityX
是double
,这似乎合理,并且还假设这是C或C ++,而不是的Fortran或东西)。
我碰到了同样的错误,而试图几个框架,融入我的应用程序。
首先,我是用麻雀 - 图形库,默认情况下我有一个main.m文件,一切都很好,直到我试图整合解析这也依赖于FacebookSDK。 在FacebookSDK文件夹中有一个叫美味的示例应用程序使用的main.m以及这是我的问题的根源。 我除去了精细的示例应用程序目录和一切。