0

当我构建我的项目时,我从 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 中的服务器条目
  • /Users/[myusername]/Library/Developer/Xcode/DerivedData 下的“rm -rf”

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

4

1 回答 1

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 项目中,因此搜索该符号从未给出结果。我终于注意到我正在导入一个不在项目中的标题。

于 2012-12-07T06:32:57.337 回答