【IOS】Undefined symbols for architecture x86_64

【IOS】Undefined symbols for architecture x86_64

先说一下这个问题的出现原因,字面意思就是某个符号不识别。一般问题都是由于引入了手动引入了某个lib,但是没有设置相应的编译选项或者没有引入其依赖的lib。

解决方法:

  1. 通过cocoapods引入lib,这样一般没有什么问题。
  2. 仔细查看文档,看看有什么依赖的lib没有引入,引入即可,或者加入相应的编译选项。

大体上就是上面两种,而且都很泛泛,下面说一下我遇到的具体问题。

  • 开发环境:xcode 6.3.1
  • 开发语言:swift(我自己写的代码都是swift,但是引入了一些oc的第三方lib)
  • 问题描述:当如引入了某个第三方lib之后,无论如何编译也不通过。我是通过cocoapods引入的,而且以前从来没遇到这样的问题。
  • 解决思路:我先查看了官方的文档,比较了一下手动引入的内容和通过cocoapods引入内容的差异,我觉得正常来讲,不应该有什么差异才对吧。然后就找到了几个没有被引入的lib,引入之,好了。

说的比较粗浅,也没什么具体的例子。不过我想说的就是,遇到这样的问题,八成是lib出的问题,直接搜对应的lib文档好好看一下即可。

时间: 2024-10-08 20:04:51

【IOS】Undefined symbols for architecture x86_64的相关文章

【iOS】duplicate symbols for architecture x86_64

今天遇到了这个问题,错误如下: duplicate symbol _OBJC_IVAR_$_BCViewController.bank in: /Users/***/Library/Developer/Xcode/DerivedData/***-fmtpkcbvfajuuadtvwtzfyjxoywz/Build/Intermediates/***.build/Debug-iphonesimulator/***.build/Objects-normal/x86_64/BCViewControll

iOS模拟器:Undefined symbols for architecture x86_64

描述:为了适配iPhone 5s的64位处理器,在编译选项中加入了arm64架构.但是发现工程在真机上可以编译通过但是在模拟器上却未编过. 问题解决:经研究在编译选项中再加入x86_64架构,重新编译工程就可以在模拟器上编译成功了. 可以这样理解armv7 , armv7s对应真机的32位处理器,i386对应模拟器的32位模拟器:arm64对应真机的64位,x86_64对应模拟器的64位. 使用了静态库,真机测试时正常,而在执行for iOS Device测试时报这个错误,很可能是因为静态库支持

iOS :undefined symbols for architecture x86_64

为了适配iPhone 5s的64位处理器,在编译选项中加入了arm64架构.但是发现工程在真机上可以编译通过但是在模拟器上却未编过. 问题解决:经研究在编译选项中再加入x86_64架构,重新编译工程就可以在模拟器上编译成功了. 可以这样理解armv7 , armv7s对应真机的32位处理器,i386对应模拟器的32位模拟器:arm64对应真机的64位模拟器,x86_64对应模拟器的64位模拟器.

iOS :undefined symbols for architecture x86_64错误解决方案

先让大家看一下,我报错的截图 我在网上查了一下,这个错误还是比较常见,原因就是少框架,少静态库了. 所以解决方案就是

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

Undefined symbols for architecture x86_64: "_OBJC_CLASS_$_GiftAnimationView"

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 x86_64: 报错 和 ld: warning: ld: warning: ignoring file警告

出现这种错误的情况: 用iphone5模拟器编译程序正常, 用iphone5s以上的模拟器编译出现Undefined symbols for architecture x86_64: 报错 和 ld: warning: ld: warning: ignoring file警告, 用真机编译正常... 网上找了很多解决方法都没办法解决..都是说更改bulid setting的一些相关设置..然后都木有什么卵用... 这里附上我的解决方法..其实也不是很麻烦...(我没有更改bulid settin

Undefined symbols for architecture x86_64: ( linker command failed with exit code 1)

当出现  linker command failed with exit code 1 (use -v to see invocation) 的错误总结,具体内容如下: Undefined symbols for architecture x86_64: "_OBJC_CLASS_$_AppDelegate", referenced from: objc-class-ref in main.o ld: symbol(s) not found for architecture x86_6

iOS出现 Undefined symbols for architecture armv7 std::basic_string<char, std::char_traits<char>

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) 如果真机调试就是 undefined symb