【问题标题】:Xcode beginner. New file problems and errorXcode 初学者。新文件问题和错误
【发布时间】:2014-01-16 03:19:34
【问题描述】:

我是 Xcode 的新手,遇到了问题。我将完成我的步骤并描述我的问题。所以,我想用 C++ 编写代码……我

  1. 打开 Xcode
  2. 新建项目...命令行工具
  3. 将项目添加到我指定的编程文件夹中
  4. 运行给定的 Hello World 程序,一切正常。

问题是当我尝试将新文件添加到当前项目时。我单击文件-> 新文件-> C++ 类。所以假设我将此文件命名为 practice.cpp,当我这样做时,它还会创建带有所有标题的 practice.h。但是,我更喜欢在一个窗口中包含标题的所有代码,因为我的程序现在很少。此外,如果我确实尝试创建一个简单的程序,比如从以前工作的 Hello World 复制或其他任何我得到错误的东西。 “链接器命令失败,退出代码为 1(使用 -v 查看调用)” 我搜索了互联网并没有找到解决方法。谢谢大家!

编辑:抱歉,我想可能有重复,但我不确定如何理解或修复错误。无论如何,这是错误...

Ld /Users/Finn/Library/Developer/Xcode/DerivedData/CSE1222-caatcfzekizvqkcdenxbphbfseon/Build/Products/Debug/CSE1222 正常 x86_64 cd "/Users/Finn/Desktop/School/CSE 1222/CSE1222/CSE1222" setenv MACOSX_DEPLOYMENT_TARGET 10.9 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10。 9.sdk -L/Users/Finn/Library/Developer/Xcode/DerivedData/CSE1222-caatcfzekizvqkcdenxbphbfseon/Build/Products/Debug -F/Users/Finn/Library/Developer/Xcode/DerivedData/CSE1222-caatcfzekizvqkcdenxbphbfseon/Build/Products/调试-filelist /Users/Finn/Library/Developer/Xcode/DerivedData/CSE1222-caatcfzekizvqkcdenxbphbfseon/Build/Intermediates/CSE1222.build/Debug/CSE1222.build/Objects-normal/x86_64/CSE1222.LinkFileList -mmacosx-version-min= 10.9 -stdlib=libc++ -Xlinker -dependency_info -Xlinker /Users/Finn/Library/Developer/Xcode/DerivedData/CSE1222-caatcfzekizvqkcdenxbphbfseon/Build/Intermediates/CSE1222.build/Debug/CSE1222.build/Objects-normal/x86_64/CSE1222_dependency_info。 dat -o /Users/Finn/Library/Developer/Xcode/DerivedData/CSE1222-caatcfzekizvqkcdenxbphbfseon/Build/Products/Debug/C SE1222

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

【问题讨论】:

  • 是否有任何关于特定链接器错误的指示?
  • 向我们展示链接器错误的描述。
  • 我编辑了原始帖子并包含了错误。就像我说的,它说 _main 中有重复项。那么我是不是不将 int main() 包含在第二个程序中,或者我必须将它保存在其他地方而不是在同一个文件夹中。此外,practice.cpp 中包含的 .h 文件,我如何摆脱它而只使用 practice.cpp?谢谢大家!

标签: c++ ios xcode


【解决方案1】:

假设我将这个文件命名为 practice.cpp,当我这样做时它也会 使用所有标题创建 practice.h。然而,我更喜欢所有 我的代码在一个窗口中带有标题,因为我的程序现在很少。

没问题——如果需要,您可以将所有内容放在一个文件中,然后删除头文件。但是,您应该意识到,将类声明等放在单独的头文件中是一种标准做法,即使对于相对较小的程序也是如此。习惯使用单独的头文件可能会更好,因为无论如何你最终都必须学会以这种方式工作。

重复符号_main: /Users/Finn/Library/Developer/Xcode/DerivedData/CSE1222-caatcfzekizvqkcdenxbphbfseon/Build/Intermediates/CSE1222.build/Debug/CSE1222.build/Objects-normal/x86_64/main.o /Users/Finn/Library/Developer/Xcode/DerivedData/CSE1222-caatcfzekizvqkcdenxbphbfseon/Build/Intermediates/CSE1222.build/Debug/CSE1222.build/Objects-normal/x86_64/File1.o

你有一个重复的符号,特别是_main。也就是说,_main 是在从您的项目构建的两个不同的目标文件中定义的:main.oFile1.o。这可能意味着你试图在一个名为File1.cpp 的文件中构建你的整个程序,并且你忽略了Xcode 在新项目中提供的main.m 文件。您可以尝试删除main.m;或删除File1.cpp,将main.m 重命名为main.cpp,然后将所有代码放入其中。

【讨论】:

    【解决方案2】:

    我只是在一个 .cpp 文件中取消选中目标成员资格,然后可以构建另一个。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-19
      • 2020-01-04
      • 2020-11-23
      • 2015-03-16
      • 2012-04-15
      相关资源
      最近更新 更多