Undefined symbols for architecture

Undefined symbols for architecture i386:
“_OBJC_CLASS_$_XXX”, referenced from:
objc-class-ref in XXX
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

这个错误的发生原因一般是“XXX”这个文件(类库)虽然引入了工程中,并未被添加到project.pbxproj这个文件中。

解决方法是点击工程,在targets界面中找到Build Phases,根据提示信息“XXX”来判断缺少什么文件,一般如果缺少自定义的文件,XXX会是缺少的类名,那么就在Complie Sources中加入该文件。如果缺少类库,则在Link Binary With Libraries中加入该类库。

时间: 2024-11-04 12:35:04

Undefined symbols for architecture的相关文章

ios build时,Undefined symbols for architecture xxx问题的总结

这2天升级到xcode6,用ios8 SDK编译老项目,各种Undefined symbols for architecture xxx,精神差点崩溃了.不过最后还是解决了,本文简单总结一下 简单来说,Undefined symbols基本上等于JAVA的ClassNotFoundException,最常见的原因有这几种: build的时候没有加framework 比如说,有一段代码我用了OpenGL,引入了头文件 #import <OpenGLES/ES2/glext.h> build的时候

oc调用c++接口时 报错 Undefined symbols for architecture i386:

当在oc中调用c++中的方法时,发现说c++中的方法没定义或是找不到 Undefined symbols for architecture i386: "_desTYData", referenced from:-[TuYoo encryptParametersWithDict:] in libtuyoo.a(TuYoo.o)ld: symbol(s) not found fo 记得c++中的方法定义是要这样定义的 extern"C" { const char *d

微信分享SDK导入报错 Undefined symbols for architecture i386:

Undefined symbols for architecture i386:   "operator delete[](void*)", referenced from:       +[WeChatApiUtil EncodeBase64:] in libWeChatSDK.a(WeChatApiUtil.o)       +[WeChatApiUtil NsDataEncodeBase64:] in libWeChatSDK.a(WeChatApiUtil.o)       +

mac编译openresty报Undefined symbols for architecture x86_64

./configure --prefix=/usr/local/openresty --with-luajit --with-http_sub_module --add-module=../ngx_http_substitutions_filter_module-0.6.4 make时报错如下 -Wl,-rpath,/usr/local/openresty/luajit/lib -L/Applications/ngx_openresty-1.4.3.6/build/luajit-root/usr

XCode 6.4编译错误----Undefined symbols for architecture i386: &quot;_fwrite$UNIX2003&quot;

使用xcode在模拟器iphone4s和iphone5出现错误 编译时的错误描述: Undefined symbols for architecture i386: "_fwrite$UNIX2003", referenced from: 一开始感觉是.a文件没有单独编译i386,x86_64导致,重新编译后 lipo -info xxxx.a 发现.a文件即使支持i386,x86_64,但还是编译不通过. 网上查了一些资料后,发现解需要在工程中添加一个.c 文件 #include &

xcode编译出错:Undefined symbols for architecture armv7

在xcode中编译oc和c++代码时出现如下错误: Undefined symbols for architecture armv7 "std::basic_ostream<char, std::char_traits<char> >& std::operator<<<char, std::char_traits<char>, std::allocator<char> >(std::basic_ostream<

iOS 错误 undefined symbols for architecture i386

undefined symbols for architecture i386 这个错误困扰了我几个小时. 网上很多问这个问题的,回答基本上都是说在 target 里面去的 armv64 什么什么的. 但问题根本不在这里! 巨简单的问题,就是缺少必要的库!进入 target - general,添加 libz.dylib 完事! 可是网上的各种答案对我造成了深深的误导,使我白白浪费了几小时时间.我就奇怪问什么这个答案网上就是找不到,而我也是偶然发现. 但是没什么用这个库,以及这个库具体作用是什么

Undefined symbols for architecture armv7

This problem has been driving me crazy, and i can't work out how to fix it... Undefined symbols for architecture armv7: "_deflateEnd", referenced from: -[ASIDataCompressor closeStream] in ASIDataCompressor.o "_OBJC_CLASS_$_ASIDataDecompress

Undefined symbols for architecture x86_64: &quot;_OBJC_CLASS_$_GiftAnimationView&quot;

1> error 详情: Undefined symbols for architecture x86_64: "_OBJC_CLASS_$_GiftAnimationView", referenced from: _OBJC_CLASS_$_GiftFoAnimationView in GiftFoAnimationView.o "_OBJC_METACLASS_$_GiftAnimationView", referenced from: _OBJC_MET

Undefined symbols for architecture arm64解决方案

在iOS开发中经常遇到的一个错误是Undefined symbols for architecture arm64,这个错误表示工程某些地方不支持arm64指令集.那我们应该怎么解决这个问题了?我们不仅要解决这个问题,更要了解出现这个问题的根源.这样根本上杜绝这类问题发生. 对于iOS设备来说iOS的指令集有armv6.armv7.armv7s.arm64这样四种,不同型号的iOS设备使用不同的指令集,下面是各自的区别: armv6 iPhone.iPhone 3G iPod 1G.iPod 2