当前位置: 首页 > 知识库问答 >
问题:

Xcode4.5汇编器无法编译Xcode4.4完美处理的文件

孟乐
2023-03-14

将xcode更新到4.5版本后,我遇到了一个错误

命令/Applications/Xcode.app/Contents/Developer/Toolchains/Xcode default。xctoolchain/usr/bin/clang失败,退出代码为1

我在更新后读到这样的错误,但是更改目标的构建设置中的体系结构没有帮助。它是在模拟器上工作,但不在设备上工作。

整个错误

CompileC /Users/psitkowski/Library/Developer/Xcode/DerivedData/Jasiu2-gskaidiujznurtdqnebvtogjtdnd/Build/Intermediates/Jasiu2.build/Debug-iphoneos/Jasiu2.build/Objects-normal/armv7/maxvid_decode_arm.o类/AVAnimator/maxvid_decode_arm. s普通armv7汇编器与cppcom.apple.compilers.llvm.clang.1_0.compilercd /Users/psitkowski/Xcode/ksiazki/kopie/Jasiu2setenv LANGen_US.US-ASCII setenv PATH"/应用程序/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/应用程序/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/usr/sbin:/sbin"

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang-x汇编器-带有-cpp-arch armv7-fMessage-long=0-Wno-trigraph s-fpascal-string-O0-Wno-mis-field-初始化器-Wno-mis-在原型中-返回类型-W格式-Wno-mis-braceses-括号-WSwitch-Wno-unuse-函数-Wno-unuse-标签-Wno-unuse-参数-Wunuse-变量-Wunuse-值-Wunul-body-Wno-未知-普拉格马-Wno-阴影-Wno-4-字符-常量-Wno-转换-Wno-缩短64到32-Wno-newline-eof-DDEBUG=1-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk-Wno-符号-转换-miphoneos-version-min=5.1-引用 /Users/psitkowski/Library/Developer/Xcode/DerivedData/Jasiu2-gskaidiujznurtdqnebvtogjtdnd/Build/Intermediates/Jasiu2.build/Debug-iphoneos/Jasiu2.build/Jasiu2-generated-files.hmap-我/用户/psitkowski/库/开发人员/Xcode/DerivedData/J开发人员/Xcode/DerivedData/Jasiu2-gskaidiujznutdqnebvtogjtdnd/Build/Intermediates/Jasiu2.build/Debug-iphoneos/Jasiu2.build/Jasiu2-all-target-headers.hmap-引用 /Users/psitkowski/Library/Developer/Xcode/DerivedData/Jasiu2-gskaidiujznurtdqnebvtogjtdnd/Build/Intermediates/Jasiu2.build/Debug-iphoneos/Jasiu2.build/Jasiu2-project-headers.hmap-我/用户/psitkowski/Library/Developer/Xcode/DerivedData/Jasiu2-gskaidiujz(数据)/DerivedData/Build/Products/Debug-iphoneos/include-我/应用程序/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include-我/应用程序/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include-我/应用程序/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include-我/用户/psitkowski/Library/Developer/Xcode/DerivedData/Jasiu2-gskaidiujz(数据)/Library/Developer/Xcode/DerivedData/Jasiu2-gskaidiujz在数据/Debugjtdqnebvtogjtdnd/Build/Intermediates/Jasiu2.build/Debug-iphoneos/Jasiu2.build/DerivedSources-F/用户/psitkowski/Library/Users/psitkowski/Library/Developer/Xcode/DerivedData/Jasiu2-gskaidiujznurtdqnebvtogjtdnd/Build/Intermediates/Jasiu2.build/Debug-iphoneos/Jasiu2.build/Objects-normal/armv7/maxvid_decode_arm.o

/users/psitkowski/xcode/ksiazki/kopie/jas iu 2/classes/avanimator/max vid _ decode _ arm . s:65:2:错误:无效指令strneh r8,[r10],#2 ^

...大约100行,如上所示.../Users/psitkowski/Xcode/ksiazki/kopie/jas iu 2/Classes/AVAnimator/max vid _ decode _ arm . s:474:2:错误:无效指令stmeqia r10!,{r0,r1} ^命令/应用程序/xcode . app/contents/developer/tool chains/xcode default . xctool chain/usr/bin/clang失败,退出代码为1

我以前也有过类似的错误,当我忘记在构建阶段添加libz.dylib时。你知道如何修理它吗?

非常感谢,

共有3个答案

松钊
2023-03-14

在工作流中找到此内容,用于在iPhone上编写ARM汇编代码。实际上,我认为我不是回答它的开发人员

添加-在buildphases中的编译器标志中没有集成as。

夹谷和裕
2023-03-14

错误很明显-max_vid_decode中有两条汇编指令。s的格式不正确:

strneh r8, [r10], #2
stmeqia r10!, {r0, r1}

可能汇编程序规范已经收紧,并且以前稍微不兼容的代码工作。找到 armv7 汇编程序文档并阅读这两个命令,并使它们兼容。

宋高扬
2023-03-14

是的,Xcode 4.5做了一些更改,破坏了ASM代码的编译。修复很容易,只需在AVAnimator中的maxvid_decode_arm. s文件的编译选项中添加-no-集成-as标志即可。

这样:

在列出文件的左侧窗口中选择项目文件(它是顶部带有蓝色图标的项目文件)。

在“目标”列表中选择您的目标。

选择“构建阶段”选项卡。

双击maxvid_decode_arm.s,然后通过粘贴到出现的列表中来添加-no-integrated-as。

 类似资料:
  • 本文向大家介绍编译器和汇编器之间的区别,包括了编译器和汇编器之间的区别的使用技巧和注意事项,需要的朋友参考一下 编译器 编译器用于将高级编程语言代码转换为机器级代码并创建可执行程序。编译器检查程序中的错误并报告它们。所有错误都将被清除,否则将不会编译和执行代码。 组装工 汇编程序用于将汇编级代码转换为机器可读代码。汇编程序也会检查每条指令的正确性并报告诊断报告。 以下是编译器和汇编器之间的重要区别

  • 我有一个原型文件,用协议2语法编写。我正在使用协议3编译器编译这个原型文件。虽然它成功构建,但它在运行时显示以下错误。有人能帮我吗? [libprotobuf FATAL google/protobuf/extension\u set.cc:102]x.y.z.a类型的多个扩展注册,字段号200。在抛出“google::protobuf::FatalException”what():type“x.

  • 主要内容:gcc -S指令我们知道,从 C、C++源代码生成可执行文件需要经历 4 个过程,分别为预处理、编译、汇编和链接。其中,《 GCC -E选项:对源程序做预处理操作》一节以 demo.c 源程序文件为例,演示了如何使用 GCC 执行预处理操作,并生成了相应的 demo.i 预处理文件。 [root@bogon demo]# cat demo.c #include <stdio.h> int main(){    p

  • 词法分析器 语法分析器 语义分析及中间代码生成 代码优化 代码生成

  • 我从github获得了一个项目的源代码(一个android应用程序),我正在尝试推出它,这个项目叫做“RTKGPS+”,它是一个使用C++库Rtklib来玩GPS和原始测量的Anroid应用程序。 我的Android环境配置很低, 我无法编译这个项目,我得到了以下错误: null null 我尝试从以下答案添加分级代码:https://stackoverflow.com/a/50707270/63

  • 编译时加入处理.ui 文件通常可以采用 3 种方式:直接使用法、单继承法和多继承法。 下面我们就以 Calculator Form 这个程序为例,分别介绍这 3 种方式的使用。 Calculator Form 程序主要实现了简单的加法计算功能,在 Qt Designer 中绘制的用户界面如图 10-2 所示。 图 10-2 Calculator Form 的.ui 文件 10.3.1 直接使用法