【问题标题】:clang: error: linker command failed with exit code 1 (use -v to see invocation) Xcodeclang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)Xcode
【发布时间】:2016-04-15 20:18:34
【问题描述】:

我是 xCode 的新手,在向现有项目添加新文件时遇到了这个问题。我收到的错误是:

重复符号_main: /Users/jagtapawan/Library/Developer/Xcode/DerivedData/pdf-gowwoupvsiukblehcdbaeublehki/Build/Intermediates/pdf.build/Debug/pdf.build/Objects-normal/x86_64/main.o /Users/jagtapawan/Library/Developer/Xcode/DerivedData/pdf-gowwoupvsiukblehcdbaeublehki/Build/Intermediates/pdf.build/Debug/pdf.build/Objects-normal/x86_64/func.o ld:架构 x86_64 的 1 个重复符号 clang:错误:链接器 命令失败,退出代码为 1(使用 -v 查看调用)

我所做的是文件 -> 新建 -> 文件。在左侧面板上选择 iOS 源 -> 目标 c -> 下一步。它坚持让我进入

文件:函数

文件类型:空

类:NSObject

我在 Xcode 中的文件层次结构是这样的:

pdf

-func.m

--pdf

----main.m

--产品

----pdf

而在 finder 中,func.m 和 main.m 位于同一个文件夹 pdf 中。 请帮帮我

【问题讨论】:

  • 欢迎来到 Stack Overflow!你在func.mmain.m 中都有main() 函数吗? main.m 中应该只有一个。
  • func.m中的代码是什么样子的?
  • @EricGalluzzo ,是的,我在 func.m 和 main.m 中有 main() 函数。我不想独立运行这两个文件......就像它发生在java中一样。我如何实现它?请帮忙
  • @PhillipMills 它由使用交换函数的简单交换程序和调用交换函数的主函数组成。但是当我在执行它时遇到问题时,我只包含了简单的“NSLog(@"Hi" ); "... :P 仍然存在。请帮忙。
  • 您不能在同一个程序中将两个main 函数链接在一起。要运行两个不同的“主电源”,您需要两个程序。

标签: ios objective-c xcode


【解决方案1】:

我可以用下面的代码解决同样的问题。

将此添加到构建设置中的库搜索路径,并确保选择递归,删除其他可能是绝对路径的库路径。

$(PROJECT_DIR) 

也许对你有帮助。

你有重复的符号方法,这意味着项目中有重复的文件

在目标的构建阶段,在“编译源”下检查是否有重复文件,如果有重复则删除。

希望这会对你有所帮助。

【讨论】:

  • 我按照你的指示做了。我删除了 func.m 并保留了 main.m,这导致只执行 main.m。我需要独立执行 func.m 。请帮忙
  • 对不起,我没有说主要功能
  • 编译源中没有重复文件...只有 fun.m 和 main.m
  • 是因为 func.m 和 main.m 都有单独的 main() 并且都位于同一个文件夹下,因此难以执行...?
  • @JagtaPawan 从编译源中删除 func.m 并检查它是否给出错误。
猜你喜欢
  • 2019-10-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-12
  • 1970-01-01
相关资源
最近更新 更多