代码之家  ›  专栏  ›  技术社区  ›  Biranchi

Xcode中的链接错误

  •  13
  • Biranchi  · 技术社区  · 15 年前

    添加libxml2.2.dylib文件后,我收到此错误

     Linking /Users/Biranchi/Desktop/Funmovies TabBarController/build/Debug-iphonesimulator/funmovies.app/funmovies (1 error)
     in /Developer/Platforms/iphoneOS.platform/Developer/SDKs/iphoneOS3.0.sdk/lib/libobjc.A.dylib, missing required architecture i386 in file
    
    Command /XCode3.1.4/platforms/iphoneSimulator.platform/Developer/usr/bin/gcc-4.2 failed with exit code 1
    

    这个错误是什么原因造成的??

    感谢所有的建议。

    谢谢 比兰奇

    12 回复  |  直到 12 年前
        1
  •  2
  •   Oleksii    14 年前

    得到了同样的错误,即使我已经从项目错误中删除了libxml2,仍然在这里:)这个sh**y xcode写了:

    LIBRARY_SEARCH_PATHS = (
    +                    "$(inherited)",
    +                    /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/usr/lib,
    +                );
    

    进入项目的配置文件“myproj.xcodeproj”中的“project.pbxproj”。

    您可以手动将此路径更改为:

    LIBRARY_SEARCH_PATHS = (
    +                    "$(inherited)",
    +                    /Developer/Platforms/iPhoneSimulatorOS.platform/Developer/SDKs/iPhoneSimulatorOS3.0.sdk/usr/lib,
    +                );
    

    但不要忘记在编译到设备时将其改回原样。 我会设法找到更简单的方法来解决这个问题。

        2
  •  34
  •   FreeAsInBeer Jeff    13 年前

    请确保使用正确的扩展名导入。

    我写错的时候出错了 #import "AClass.m" 而不是 #import "AClass.h" -)

        3
  •  8
  •   mracoker    13 年前

    我必须删除这个库libz.1.2.3.dylib并添加这个库libz.1.2.5.dylib。之后,它编译得很好。

        4
  •  5
  •   Brooks Hanes    13 年前

    尝试产品-清洁。为我工作。

        5
  •  3
  •   JH95    12 年前

    确保您有外部类,它们被添加到编译源中。当我试图导入某个类时,也有同样的错误。要修复它,请转到构建阶段并将其添加到编译的源中。

    确保您有外部类,它们被添加到编译源中。当我试图导入某个类时,也有同样的错误。要修复它,请转到构建阶段并将其添加到已编译的源中。

        6
  •  2
  •   Cordeiro    14 年前

    我在构建一个项目时遇到了类似的问题,但这次使用的是Timbreid.c文件

    arm-apple-darwin10-gcc-4.2.1: timbreID.c: No such file or directory
    Command /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2 failed with exit code 1
    

    经过几次尝试,我终于研究了xcode项目中的“目标”,发现timbreid.c文件是红色的(=找不到)。我在上面修改了clic并手动选择了新的路径。

    之后:构建成功!你说什么?

        7
  •  2
  •   AppleIosPandi    12 年前

    只需删除libz1.2.3并将libz1.2.5库添加到构建阶段。

        8
  •  1
  •   Sukitha Udugamasooriya    14 年前

    我有同样的问题,我继续检查目标信息

    在图书馆搜索路径中有这个条目, “$(developer_dir)/platforms/iphoneSimulator.platform/developer/sdks/iphoneSimulator4.0.sdk/usr/lib”

    我删除了它,应用程序工作了!!!!

        9
  •  1
  •   Graham P Heath Bergi    12 年前

    如果这是与特定框架工作相关的问题,请确保在构建阶段启用它。对于我来说,我必须添加messageui.framework:在xcode 4中,转到目标的构建阶段选项卡。确保看到正在使用的框架。如果没有,请单击+添加。

        10
  •  0
  •   18446744073709551615    13 年前

    尝试从命令行发出失败的命令。在这里,您将看到未通过GUI显示的stderr输出。

        11
  •  0
  •   sur    12 年前

    尽管导航窗格中的所有文件都不是红色的,但我还是得到了同样的错误。结果我重构了一个类的名称,将Xcode路径位置抛出。对我有效的解决方案是一次选择一个.h和.m文件,将位置设置为“绝对路径”(在右侧菜单的最左侧选项卡中),然后浏览到文件系统中的位置。

        12
  •  0
  •   Tim    12 年前

    再加上格雷厄姆·希思的回答——我认为应该在这条线索上更加突出。

    检查丢失的框架是最快也是最容易尝试的修复方法。对大多数人来说,这完全是非破坏性的,很可能是造成这种错误的原因。只需浏览框架列表以查找合适的内容并进行尝试。我认为很多人都被愚弄了,因为Xcode不会在编写代码时将问题标记为类,而只是在链接代码时。

    我的错误是:“Linker命令失败,退出代码为1(使用-v查看调用)”,涉及coreLocation中的几个错误:

    “建筑ARMV7的未定义符号: “_objc_class_$_cllocationmanager”,引用自: nptviewcontroller.o中的objc类引用”

    我添加了corelocation.framework,任务完成了。