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测试时报这个错误,很可能是因为静态库支持的架构不全。

解决办法:

1. 选中Targets—>Build Settings—>Architectures。

把Build Active Architecture Only改为 NO。

2. 把最下面的Valid Architectures中的arm64参数删掉就可以了

时间: 2024-11-03 22:51:20

iOS模拟器:Undefined symbols for architecture x86_64的相关文章

【IOS】Undefined symbols for architecture x86_64

[IOS]Undefined symbols for architecture x86_64 先说一下这个问题的出现原因,字面意思就是某个符号不识别.一般问题都是由于引入了手动引入了某个lib,但是没有设置相应的编译选项或者没有引入其依赖的lib. 解决方法: 通过cocoapods引入lib,这样一般没有什么问题. 仔细查看文档,看看有什么依赖的lib没有引入,引入即可,或者加入相应的编译选项. 大体上就是上面两种,而且都很泛泛,下面说一下我遇到的具体问题. 开发环境:xcode 6.3.1

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错误解决方案

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

解决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

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: ( 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

【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