Clang错误:重命名符号后重复符号

时间:2012-12-07 05:22:07

标签: ios linker clang linker-errors

当我构建我的项目时,我从clang中得到一个重复的符号错误。

    duplicate symbol _server in:
    /Users/ashwinjeyakumar/Library/Developer/Xcode/DerivedData/Hikes-emzsxfmokzerjhevoirupbsrobpm/Build/Intermediates/Hikes.build/Release-iphonesimulator/Hikes.build/Objects-normal/i386/HikeViewController.o
    /Users/ashwinjeyakumar/Library/Developer/Xcode/DerivedData/Hikes-emzsxfmokzerjhevoirupbsrobpm/Build/Intermediates/Hikes.build/Release-iphonesimulator/Hikes.build/Objects-normal/i386/HikeSearchResultsViewController.o
ld: 1 duplicate symbol for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

为了调试这个,我找到了我定义服务器的位置(它是一个属性)并将其删除,将其替换为info.plist条目。但错误不会消失。我试过了:

  • 重命名Info.Plist中的服务器条目
  • 'rm -rf'位于/ Users / [myusername] / Library / Developer / Xcode / DerivedData

我的xcode项目的Shift + cmd + F搜索没有找到“服务器”的任何结果,但错误仍然存​​在。

1 个答案:

答案 0 :(得分:0)

我的项目中有一个导入“Constants.h”。 Constants.h有以下内容:

#ifndef Hikes_Constants_h
#define Hikes_Constants_h

#define kBgQueue dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)
NSString *server = @"http://192.168.56.101:3000/";

#endif

问题是Constants.h已不在我的XCode项目中,因此搜索符号从未给出结果。我终于注意到我正在导入一个不在项目中的标题。