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

非 Y 不嫁゛ 提交于 2019-12-04 11:35:20

问题


After update xcode to 4.5 version I have an error

Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang failed with exit code 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"

/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-gskaidiujznurtdqnebvtogjtdnd/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/Intermediates/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.build/Debug-iphoneos/Jasiu2.build/Objects-normal/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 ^

... 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

I have a error like this before, when I forgot add libz.dylib in build phases. Have you got any idea how to fix it?

Thanks a lot,


回答1:


Yes, Xcode 4.5 has made some changes that break compilation of ASM code. There fix is easy, just add the -no-integrated-as flag to the compilation options for the maxvid_decode_arm.s file in AVAnimator.

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.

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.




回答2:


The error is quite clear - two assembler instructions in max_vid_decode.s are not properly formatted:

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.




回答3:


Found this in Workflow for writing ARM assembly code on the iphone. Actually I think i'ts the developer who answered it

add -no-integrated-as in your compiler flags in buildphases.



来源:https://stackoverflow.com/questions/12779502/xcode4-5-assembler-fails-to-compile-files-that-xcode4-4-handled-perfectly

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!