架构i386 clang的重复符号

Bha*_*rat 56 objective-c admob ios5

我在google和stackoverflow上看到了几个与此错误相关的帖子,我已经阅读了所有这些帖子但仍然提到了问题,我很乐意找到解决方案.这是我在编译时收到的错误消息...

找不到选项'-L/Users/somefolder/Documents/Bharat/MyApp copy/GoogleAdMobAdsSDK'重复符号_OBJC_CLASS _ $ _ AppDelegate:/ Users/madept/Library/Developer/Xcode/DerivedData/Alpha-dvvymdlmzseytagllsmbbrxdgutz/Build/Intermediates/Alpha.build/Debug-iphonesimulator/Alpha.build/Objects-normal/i386/AppDelegate-56890B6B994A4284.o

谢谢.

Rik*_*nna 234

经常发生此错误的另一个原因是意外导入.m文件而不是.h.


小智 57

脚步:

  1. 检查目标设置中的构建阶段.
  2. 检查文件是否存在两次或一次.
  3. 如果文件存在两次删除一个.如果没有删除底部最新的文件.
  4. 再建一次.


Kyl*_*leT 25

只是为了增加可能的解决方案.

在我的情况下,我不小心声明并初始化了头文件中的变量.

例如,这是错误的:

MyFile.h

#import <Foundation/Foundation.h>

NSInteger const ABCMyConstant = 6;
Run Code Online (Sandbox Code Playgroud)

它应该是:

MyFile.h

#import <Foundation/Foundation.h>

NSInteger const ABCMyConstant;
Run Code Online (Sandbox Code Playgroud)

MyFile.m

#import "MyFile.h"

NSInteger const ABCMyConstant = 6;
Run Code Online (Sandbox Code Playgroud)


Kal*_*ara 20

转到"构建设置"并搜索" 无公共块"并将其设置为" 否".再次构建,您将不会再次出现此错误.


rez*_*a23 11

我发现当我const在.m文件中声明一个与const另一个.m文件中的另一个同名时我收到错误.两个文件#included相同的父文件.


小智 8

我刚刚在为Core Data重新创建模型类之后遇到了这种情况.创建对象类的菜单选项创建了一个重复的模型类.一旦我删除了欺骗,错误就消失了......


Ima*_*man 7

链接器错误始终显示有关库使用或导入问题的问题.

有时,导入.m文件而不是.h文件时会发生错误.

请检查您的代码,并在您的一个头文件(.h扩展名)中查找.m import语句,我遇到了类似的问题,并引发了14个重复的符号错误.

检查你是否已导入ViewControler.m而不是.h,所以它必须是这样的:

    import "ViewController.h"
Run Code Online (Sandbox Code Playgroud)

你的AppDelegate.h应该是这样的:

import "UIKit/UIKit.h"
import "ViewController.h"
@interface AppDelegate : UIResponder <UIApplicationDelegate>
@property (strong, nonatomic) UIWindow *window;
@property (strong,nonatomic) ViewController *mainController;
@end
Run Code Online (Sandbox Code Playgroud)

永远记得导入头文件而不是.m


Bha*_*rat 2

最后我得到了解决方案 -

  1. 删除我添加的所有 AdMob SDK 引用(也从工作区中删除)。
  2. 清理你的项目
  3. 点击此链接再次添加 AdMob
  4. 清理并重建