简体   繁体   English

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

[英]Xcode4.5 assembler fails to compile files that Xcode4.4 handled perfectly

After update xcode to 4.5 version I have an error 更新xcode到4.5版本后我有一个错误

Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang failed with exit code 1 命令/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang失败,退出代码为1

I read about error like this after update, but changing the architecture in target's builds settings doesn't help. 我在更新后读到了这样的错误,但在目标的构建设置中更改架构没有帮助。 It's work on simulator but not on device. 它适用于模拟器但不适用于设备。

The whole error 整个错误

CompileC /Users/psitkowski/Library/Developer/Xcode/DerivedData/Jasiu2-gskaidiujznurtdqnebvtogjtdnd/Build/Intermediates/Jasiu2.build/Debug-iphoneos/Jasiu2.build/Objects-normal/armv7/maxvid_decode_arm.o Classes/AVAnimator/maxvid_decode_arm.s normal armv7 assembler-with-cpp com.apple.compilers.llvm.clang.1_0.compiler cd /Users/psitkowski/Xcode/ksiazki/kopie/Jasiu2 setenv LANG en_US.US-ASCII 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" CompileC /Users/psitkowski/Library/Developer/Xcode/DerivedData/Jasiu2-gskaidiujznurtdqnebvtogjtdnd/Build/Intermediates/Jasiu2.build/Debug-iphoneos/Jasiu2.build/Objects-normal/armv7/maxvid_decode_arm.o Classes / AVAnimator / maxvid_decode_arm.s normal armv7 assembler-with-cpp com.apple.compilers.llvm.clang.1_0.compiler cd / Users / psitkowski / Xcode / ksiazki / kopie / Jasiu2 setenv LANG en_US.US-ASCII setenv PATH“/Applications/Xcode.app/内容/开发/平台/ iPhoneOS.platform /开发人员的/ 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 -x assembler-with-cpp -arch armv7 -fmessage-length=0 -Wno-trigraphs -fpascal-strings -O0 -Wno-missing-field-initializers -Wno-missing-prototypes -Wreturn-type -Wformat -Wno-missing-braces -Wparentheses -Wswitch -Wno-unused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wuninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wno-shorten-64-to-32 -Wno-newline-eof -DDEBUG=1 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk -Wdeprecated-declarations -g -Wno-sign-conversion -miphoneos-version-min=5.1 -iquote /Users/psitkowski/Library/Developer/Xcode/DerivedData/Jasiu2-gskaidiujznurtdqnebvtogjtdnd/Build/Intermediates/Jasiu2.build/Debug-iphoneos/Jasiu2.build/Jasiu2-generated-files.hmap -I/Users/psitkowski/Library/Developer/Xcode/DerivedData/Jasiu2-gskaidiujzn /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x assembler-with-cpp -arch armv7 -fmessage-length = 0 -Wno-trigraphs -fpascal-strings -O0 -Wno -missing-field-initializers -Wno-missing-prototypes -Wreturn-type -Wformat -Wno-missing-braces -Wparentheses -Wswitch -Wno-unused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wmpty-body -Wuninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wno-shorten-64-to-32 -Wno-newline-eof -DDEBUG = 1 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk -Wdeprecated-declarations -g -Wno-sign-conversion -miphoneos-version-min = 5.1 -iquote /Users/psitkowski/Library/Developer/Xcode/DerivedData/Jasiu2-gskaidiujznurtdqnebvtogjtdnd/Build/Intermediates/Jasiu2.build/Debug-iphoneos/Jasiu2.build/Jasiu2-generated-files.hmap -I / Users / psitkowski / Library /开发商/ Xcode中/ DerivedData / Jasiu2-gskaidiujzn urtdqnebvtogjtdnd/Build/Intermediates/Jasiu2.build/Debug-iphoneos/Jasiu2.build/Jasiu2-own-target-headers.hmap -I/Users/psitkowski/Library/Developer/Xcode/DerivedData/Jasiu2-gskaidiujznurtdqnebvtogjtdnd/Build/Intermediates/Jasiu2.build/Debug-iphoneos/Jasiu2.build/Jasiu2-all-target-headers.hmap -iquote /Users/psitkowski/Library/Developer/Xcode/DerivedData/Jasiu2-gskaidiujznurtdqnebvtogjtdnd/Build/Intermediates/Jasiu2.build/Debug-iphoneos/Jasiu2.build/Jasiu2-project-headers.hmap -I/Users/psitkowski/Library/Developer/Xcode/DerivedData/Jasiu2-gskaidiujznurtdqnebvtogjtdnd/Build/Products/Debug-iphoneos/include -I/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include -I/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include -I/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include -I/Users/psitkowski/Library/Developer/Xcode/DerivedData/Jasiu2-gskaidiujznurtdqnebvtogjtdnd/Build/Intermediate urtdqnebvtogjtdnd / Build / Intermediates / Jasiu2.build / Debug-iphoneos / Jasiu2.build / Jasiu2-own-target-headers.hmap -I / Users / psitkowski / Library / Developer / Xcode / DerivedData / Jasiu2-gskaidiujznurtdqnebvtogjtdnd / Build / Intermediates / Jasiu2.build/Debug-iphoneos/Jasiu2.build/Jasiu2-all-target-headers.hmap -iquote /Users/psitkowski/Library/Developer/Xcode/DerivedData/Jasiu2-gskaidiujznurtdqnebvtogjtdnd/Build/Intermediates/Jasiu2.build/Debug- iphoneos / Jasiu2.build / Jasiu2-project-headers.hmap -I / Users / psitkowski / Library / Developer / Xcode / DerivedData / Jasiu2-gskaidiujznurtdqnebvtogjtdnd / Build / Products / Debug-iphoneos / include -I / Applications / Xcode.app /目录/开发人员/工具链/ XcodeDefault.xctoolchain / usr / include -I / Applications / Xcode.app / Contents / Developer / Toolchains / XcodeDefault.xctoolchain / usr / include -I / Applications / Xcode.app / Contents / Developer / Toolchains / XcodeDefault.xctoolchain / usr / include -I / Users / psitkowski / Library / Developer / Xcode / DerivedData / Jasiu2-gskaidiujznurtdqnebvtogjtdnd / Build / Intermediate s/Jasiu2.build/Debug-iphoneos/Jasiu2.build/DerivedSources/armv7 -I/Users/psitkowski/Library/Developer/Xcode/DerivedData/Jasiu2-gskaidiujznurtdqnebvtogjtdnd/Build/Intermediates/Jasiu2.build/Debug-iphoneos/Jasiu2.build/DerivedSources -F/Users/psitkowski/Library/Developer/Xcode/DerivedData/Jasiu2-gskaidiujznurtdqnebvtogjtdnd/Build/Products/Debug-iphoneos -MMD -MT dependencies -MF /Users/psitkowski/Library/Developer/Xcode/DerivedData/Jasiu2-gskaidiujznurtdqnebvtogjtdnd/Build/Intermediates/Jasiu2.build/Debug-iphoneos/Jasiu2.build/Objects-normal/armv7/maxvid_decode_arm.d --serialize-diagnostics /Users/psitkowski/Library/Developer/Xcode/DerivedData/Jasiu2-gskaidiujznurtdqnebvtogjtdnd/Build/Intermediates/Jasiu2.build/Debug-iphoneos/Jasiu2.build/Objects-normal/armv7/maxvid_decode_arm.dia -c /Users/psitkowski/Xcode/ksiazki/kopie/Jasiu2/Classes/AVAnimator/maxvid_decode_arm.s -o /Users/psitkowski/Library/Developer/Xcode/DerivedData/Jasiu2-gskaidiujznurtdqnebvtogjtdnd/Build/Intermediates/Jasiu2.bui s / Jasiu2.build / Debug-iphoneos / Jasiu2.build / DerivedSources / armv7 -I / Users / psitkowski / Library / Developer / Xcode / DerivedData / Jasiu2-gskaidiujznurtdqnebvtogjtdnd / Build / Intermediates / Jasiu2.build / Debug-iphoneos / Jasiu2。 build / DerivedSources -F / Users / psitkowski / Library / Developer / Xcode / DerivedData / Jasiu2-gskaidiujznurtdqnebvtogjtdnd / Build / Products / Debug-iphoneos -MMD -MT dependencies -MF / Users / psitkowski / Library / Developer / Xcode / DerivedData / Jasiu2 -gskaidiujznurtdqnebvtogjtdnd / Build / Intermediates / Jasiu2.build / Debug-iphoneos / Jasiu2.build / Objects-normal / armv7 / maxvid_decode_arm.d --serialize-diagnostics / Users / psitkowski / Library / Developer / Xcode / DerivedData / Jasiu2-gskaidiujznurtdqnebvtogjtdnd / Build / Intermediates / Jasiu2.build / Debug-iphoneos / Jasiu2.build / Objects-normal / armv7 / maxvid_decode_arm.dia -c /Users/psitkowski/Xcode/ksiazki/kopie/Jasiu2/Classes/AVAnimator/maxvid_decode_arm.s -o /用户/ psitkowski /库/开发商/ Xcode中/ DerivedData / Jasiu2-gskaidiujznurtdqnebvtogjtdnd /编译/中间体/ Jasiu2.bui ld/Debug-iphoneos/Jasiu2.build/Objects-normal/armv7/maxvid_decode_arm.o LD /调试-的iPhoneOS / Jasiu2.build /对象 - 正常/ ARMv7的/ maxvid_decode_arm.o

/Users/psitkowski/Xcode/ksiazki/kopie/Jasiu2/Classes/AVAnimator/maxvid_decode_arm.s:65:2: error: invalid instruction strneh r8, [r10], #2 ^ /Users/psitkowski/Xcode/ksiazki/kopie/Jasiu2/Classes/AVAnimator/maxvid_decode_arm.s:65:2:错误:无效指令strneh r8,[r10],#2 ^

... About 100 lines like above ... /Users/psitkowski/Xcode/ksiazki/kopie/Jasiu2/Classes/AVAnimator/maxvid_decode_arm.s:474:2: error: invalid instruction stmeqia r10!, {r0, r1} ^ Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang failed with exit code 1 ...大约100行如上... /Users/psitkowski/Xcode/ksiazki/kopie/Jasiu2/Classes/AVAnimator/maxvid_decode_arm.s:474:2:错误:无效指令stmeqia r10!,{r0,r1} ^命令/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang失败,退出代码为1

I have a error like this before, when I forgot add libz.dylib in build phases. 我之前有一个错误,当我忘记在构建阶段添加libz.dylib时。 Have you got any idea how to fix it? 你知道如何解决它吗?

Thanks a lot, 非常感谢,

Yes, Xcode 4.5 has made some changes that break compilation of ASM code. 是的,Xcode 4.5做了一些改变,打破了ASM代码的编译。 There fix is easy, just add the -no-integrated-as flag to the compilation options for the maxvid_decode_arm.s file in AVAnimator. 修复很简单,只需将-no-integrated-as标志添加到AVAnimator中maxvid_decode_arm.s文件的编译选项中。

Like so: 像这样:

Choose the project file in the left window that lists files (it is the one at the top with the blue icon). 在左侧窗口中选择列出文件的项目文件(顶部带有蓝色图标的文件)。

Select your Target in the "TARGETS" list. 在“TARGETS”列表中选择目标。

Select the "Build Phases" Tab. 选择“构建阶段”选项卡。

Double click on maxvid_decode_arm.s, then add -no-integrated-as by pasting into the list that comes up. 双击maxvid_decode_arm.s,然后通过粘贴到出现的列表中添加-no-integrated-as。

The error is quite clear - two assembler instructions in max_vid_decode.s are not properly formatted: 错误很明显 - max_vid_decode.s中的两个汇编指令格式不正确:

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

Probably the assembler spec has tightened, and code that was slightly non-compliant worked previously. 可能是汇编程序规范已经收紧,而且稍微不兼容的代码以前也可以工作。 Find the armv7 assembler document and read up on these two commands, and make them compliant. 找到armv7汇编程序文档并阅读这两个命令,并使它们兼容。

Found this in Workflow for writing ARM assembly code on the iphone . Workflow中找到了这个, 用于在iphone上编写ARM汇编代码 Actually I think i'ts the developer who answered it 其实我觉得我是回答它的开发者

add -no-integrated-as in your compiler flags in buildphases. 在buildphases中添加-no-integrated-as编译器标志。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM