[英]Linking Error in Xcode
添加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
这是什么错误导致的?
所有建议表示赞赏。
谢谢比兰奇
确保使用正确的扩展名导入。
当我错误地写了#import "AClass.m"
而不是#import "AClass.h"
时,我得到了错误:-)
我必须删除该库libz.1.2.3.dylib并添加此库libz.1.2.5.dylib。 之后,它编译良好。
尝试产品->清洁。 为我工作。
确保如果您有外部类,则将它们添加到编译源中。 当我尝试导入某个类时,我遇到了相同的错误。 要修复它,请转到构建阶段并将其添加到已编译的源代码中。
遇到了同样的错误,即使我已经从项目错误中删除了libxml2,也仍然在这里:)这个X ** 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,
+ );
但是,当编译到设备中时,请不要忘记将其改回。 我将尝试找到更简单的方法来解决此问题。
构建项目时,我遇到了类似的问题,但是这次使用的文件是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项目上的“ Targets”,并意识到timbreID.c文件是红色的(=未找到)。 我右键单击它,然后手动选择新路径。
之后:构建成功!!
只需删除libz1.2.3,然后将libz1.2.5库添加到构建阶段即可。
如果这是与特定框架有关的问题,请确保在构建阶段将其启用。 对我来说,我必须添加MessageUI.framework:在Xcode 4中,转到目标的构建阶段选项卡。 确保您看到正在使用的框架。 如果不存在,请单击+添加它。
我遇到了同样的问题,然后继续检查目标信息
在库搜索路径中,存在以下条目:“ $(DEVELOPER_DIR)/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.0.sdk/usr/lib”
我将其删除,该应用程序正常运行!!!
即使导航窗格中的文件都不是红色,我也遇到了相同的错误。 原来,我重构一个类的名称会抛出Xcode路径位置。 对我有用的解决方案是一次选择一个.h和.m文件,将位置设置为“绝对路径”(在右侧菜单中,最左侧的选项卡),然后浏览至文件系统中的位置。
为了增加Graham Heath的答案-我认为在线程中应该更加突出。
检查缺少的框架是尝试的最快,最简单的修复。 完全无损,对于大多数人来说,可能是这类错误的原因。 只需浏览框架列表以查找合适的内容并尝试即可。 我认为许多人都愚弄了,因为XCode不会在编写代码时(仅在链接时)标记类的问题。
我的错误是:“链接器命令失败,退出代码为1(使用-v查看调用)”,涉及CoreLocation中的几个错误:
“体系结构armv7的未定义符号:“ _ OBJC_CLASS _ $ _ CLLocationManager”,引用自:NPTViewController.o中的objc-class-ref”
我添加了CoreLocation.framework并完成了工作。
尝试从命令行发出失败的命令。 在那里,您将看到未通过GUI显示的stderr输出。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.