Tag: cpu architecture

当我打开我在Xcode 4中创build的Google Maps项目时,Xcode 5会警告我的架构设置

我刚刚更新到新发布的Xcode 5.我有一个iOS应用程序正在开发中,使用Google Maps iOS SDK。 当我在Xcode 4中开发时,我改变了我的项目设置中的Architectures设置,按照Google 关于将SDK添加到项目中的步骤7: 7.select您的项目,而不是特定的目标,然后打开“生成设置”选项卡。 用armv7replace架构的默认值。 在Other Linker Flags部分中,添加-ObjC。 如果这些设置不可见,请将“生成设置”栏中的filter从“基本”更改为“全部”。 在Xcode 4中一切正常。但是,当我在Xcode 5中打开项目时,在问题导航器中看到以下警告: validation项目设置 更新为推荐设置 当我点击警告,Xcode带我到我的项目设置,并显示一个popup与“取消”和“执行更改”button,以下描述的变化,它想使 项目“你的项目” – 自动select体系结构 项目“您的项目”覆盖“体系结构”设置。 这将删除设置,并允许Xcode基于可用于活动平台和部署目标的硬件自动select体系结构。 我试着点击“执行变更”,让Xcode做任何想做的事情,而且这个应用程序对于模拟器来说还是很好的。 但是,当我尝试插入iPhone 5(支持ARMv7S)并在其上运行时,应用程序无法生成以下链接器错误: Ld /Users/macmini/Library/Developer/Xcode/DerivedData/Your_App-bmrouudjlblpafdjzhpwcuekzgwu/Build/Products/Debug-iphoneos/Your\ App.app/Your\ App normal armv7s cd "/Users/macmini/Documents/Your App" setenv IPHONEOS_DEPLOYMENT_TARGET 6.1 setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin" /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch armv7s -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk -L/Users/macmini/Library/Developer/Xcode/DerivedData/Your_App-bmrouudjlblpafdjzhpwcuekzgwu/Build/Products/Debug-iphoneos -F/Users/macmini/Library/Developer/Xcode/DerivedData/Your_App-bmrouudjlblpafdjzhpwcuekzgwu/Build/Products/Debug-iphoneos -F/Users/macmini/Documents/Your\ App -filelist /Users/macmini/Library/Developer/Xcode/DerivedData/Your_App-bmrouudjlblpafdjzhpwcuekzgwu/Build/Intermediates/Your\ App.build/Debug-iphoneos/Your\ […]

是否有一个编译器标志,表明缺乏armv7架构

随着iPhone 5和其他armv7s设备的出现,与现有的(闭源)第三方框架(如Flurry)存在兼容性问题。 一种select是等到他们发布一个新的版本,但我希望有一个编译器标志或我可以在我的Xcode项目中使用的东西,让链接器知道不要期望从这个框架armv7s架构,并使用armv7代替。 有这样的事情吗?

如何在运行时确定二进制映像架构?

崩溃日志包含“二进制映像”部分,其中包含关于所有已加载模块的体系结构(armv6 / armv7)和标识符的信息。 如何在运行时确定这些信息? (至less,只适用于可执行的应用程序) NSBundle有方法executableArchitectures,但如何确定哪个架构正在运行?

Xcode 6.1上架构x86_64的未定义符号

在编译的时候,Xcode突然间把这个错误抛给了我: Undefined symbols for architecture x86_64: "_OBJC_CLASS_$_Format", referenced from: objc-class-ref in WOExerciseListViewController.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) 在做了一些研究之后,我可能会明白,我正在使用的库与64位版本不兼容。 但是,这是非常奇怪的,因为在那段时间里,我一直在使用相同的库至less一个星期,而没有一个编译问题。 这两个库只是由一堆类组成,当我从项目中删除它们时,我得到了同样的问题。 由于我自己从来没有创build库,我不知道我怎么能find我正在使用的与64位(?)兼容我还尝试了下面的目标面板架构的变化: 将$(ARCHS_STANDARD_INCLUDING_64_BIT)添加到架构 仅build立活动架构 – >设置为“否” 对于“有效的体系结构” – >设置为arm64,armv7和armv7s 删除DerivedData文件夹及其内容,再次清理并构build 但是,这些变化都不起作用。 请,有人有这个线索吗? 谢谢