为什么Xcode与目标成员资格不匹配?

时间:2019-06-16 09:01:43

标签: macos xcode c++

我一直在创建大量的c ++语法来帮助初学者。我使用Xcode作为主要IDE。我尝试在“功能”目标中运行程序,但始终显示此错误。

duplicate symbol _main in: 
    /Users/xivya/Library/Developer/Xcode/DerivedData/parentcpp-afpbdfpaaxeerfdalgncgzpkuaqt/Build/Intermediates.noindex/parentcpp.build/Debug/function.build/Objects-normal/x86_64/manipulator.o
    /Users/xivya/Library/Developer/Xcode/DerivedData/parentcpp-afpbdfpaaxeerfdalgncgzpkuaqt/Build/Intermediates.noindex/parentcpp.build/Debug/function.build/Objects-normal/x86_64/pattern_program.o 
ld: 1 duplicate symbol for architecture x86_64 
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Error code

我从左上方选择了“功能”目标,请参见图片-

Image contains Target members and entire structure

但是在屏幕的右中间,“目标成员”下选择了“目标”。它会自动选择自己。每当我将目标更改为其他任何目标时,都不会发生错误。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

我将答案分为两类。

>寻找问题

每当您有多个 目标 潜入项目结构时,如果您仅忽略一件事,它可能会调用相同的错误。假设您运行了一个 target ,并希望立即运行其他一些 target 。显然,您将从左上方更改主动方案。更明显的是,您将选择相应的 构建阶段,但是可能会错过一分钟的选项,以从更改 target 或目标” 选项在该实例中潜伏。如果您不明白我的意思,请重新阅读或查看这些图片。

There is nothing wrong here. pointers target has been selected and reference.cpp execute without any issue.

现在,如果我们选择运行其他目标怎么办?我们将完成所有必需的习惯性工作。

We chose function target and in Build Phases we chose the required file. What we miss to observe is that pointers target is still been selected and Xcode hasn't changed it.

这会产生一个问题,导致出现以下错误:

A possible error that can be displayed if one misses changing the target at a different instance, where Xcode should already have changed the target but has not.

请记住这些小事情。

>错误的含义

大多数情况下,您可能会遇到“重复...等。”类型错误。这可能大致意味着Xcode不确定要运行哪个目标,因为您可能忘记了在其他实例(可能在 Build Phases pannel)中更改目标。