首页 > 解决方案 > Clang 错误“架构 x86_64 的重复符号”

问题描述

这个错误在堆栈中列出了很多,常见的修复似乎对我不起作用。编译 Obj-C MacOS Xcode 应用程序时出现错误:“架构 x86_64 的重复符号”。Xcode 11.5 和 MacOS Catalina 10.15.5。据说有 15 个重复符号,其中 15 个错误之一看起来像:

duplicate symbol '_visual10Window' in:
    /Users/tempuser/Library/Developer/Xcode/DerivedData/test-cdicjztmkktfomehwaphnzhbozgh/Build/Intermediates.noindex/test.build/Debug/test.build/Objects-normal/x86_64/Test.o
    /Users/tempuser/Library/Developer/Xcode/DerivedData/test-cdicjztmkktfomehwaphnzhbozgh/Build/Intermediates.noindex/test.build/Debug/test.build/Objects-normal/x86_64/MainView.o

我的 MainView.h 和 MainView.mm 不包含任何 visual10Window 的定义。

我的 Test.h 有(删除这个会导致使用未声明的标识符错误)。

@class Visual10;
Visual10 *visual10Window;

和 Test.mm 包括

#import "Visual10.h"

我正在从 Test.mm 的菜单项中调用 xib

- (void)Visual10Menu:(id)sender {
 if (!visual10Window) {
 visual10Window = [[Visual10 alloc] initWithWindowNibName:@"Visual10"]; }
[visual10Window showWindow:self]; }

我尝试了常见的建议,包括:

这些都不起作用,仍然会出现重复的符号错误。

标签: iosobjective-cxcodemacoscocoa

解决方案


推荐阅读