我添加了ShareKit框架尝试,这是在模拟器中运行它的错误:
duplicate symbol _LFHRReadStreamClientCallBack in
.../Xcode/DerivedData/....build/Objects-normal/i386/LFHTTPRequest-8C6F35228BA446B9.o
and
.../Xcode/DerivedData/....build/Objects-normal/i386/LFHTTPRequest-8ACF920D803FDCA6.o
for architecture i386
我查看了以前的帖子Build Error - missing required architecture i386 in file,并尝试编辑project.pbxproj,注释掉FRAMEWORK_SEARCH_PATHS行,以及查找意外添加到我的项目但没有运气的.framework文件。
我还能尝试什么?
答案 0 :(得分:4)
您已在项目中包含两次LFHTTPRequest。有可能另一个库(例如sharekit)包含它,双重检查文件sharekit包括并删除LFHTTPRequest的一个副本,应该编译。
答案 1 :(得分:1)
如果将coredata生成的类移动到一个组(如“Models”)中,然后重新生成NSManagedObjectModel子类,也会发生这种情况。生成的文件将放在项目根目录中,并添加到构建中两次。
答案 2 :(得分:0)
使用TessBaseAPI时遇到了同样的错误。我有两个c ++文件,两者都有以下声明:
namespace tesseract {
class TessBaseAPI;
};
tesseract::TessBaseAPI *tesseract1;
uint32_t *pixels;
我阅读了完整的错误消息。我在那里找到了一条线:
duplicate symbol _tesseract1 in
后来,哪些文件包含副本也包括在内(文件名)。 所以,我按如下方式更改了实例名称:
namespace tesseract {
class TessBaseAPI;
};
tesseract::TessBaseAPI *tesseractNew;
uint32_t *pixelsNew;
这解决了我的问题。