Xcode 配置文件不适用于汇编代码段

Xcode profile doesn't work with assembly piece of code

本文关键字:代码 汇编 适用于 配置文件 不适用 Xcode      更新时间:2023-10-16

我试图在Xcode 7.1.1中开始评测我的iOS C++应用程序。但是当我使用"产品"-"概要文件"时,我会遇到很多与汇编中编写的代码有关的错误。

我可以在iPad4上构建和运行应用程序,没有任何错误。该问题仅与分析有关。

我尝试重新启动、清理并更改为推荐的项目设置。

我可以直接从仪器中使用"OpenGL ES Analysis"模板进行配置。但我需要"核心数据"来分析缓存未命中。我无法从仪器启动它——录制按钮被阻止了。

以下是错误消息的一部分:

CompileC /Users/ndobrovolskaya/Library/Developer/Xcode/DerivedData/Bonsai4-gppvscpdtzzkzdakppndntsjcuma/Build/Intermediates/Bonsai4.build/Release-iphoneos/Bonsai4.build/Objects-normal/arm64/Tree-7C49AF5101739F7B.o
    /Users/ndobrovolskaya/OneDrive/OneDrive/Tree.s normal arm64 assembler-with-cpp com.apple.compilers.llvm.clang.1_0.compiler
cd /Users/ndobrovolskaya/Desktop/Bonsai/Bonsai4
export LANG=en_US.US-ASCII
export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
    -x assembler-with-cpp -arch arm64 -fmessage-length=0 -fdiagnostics-show-note-include-stack
    -fmacro-backtrace-limit=0 -fmodules -gmodules -fmodules-cache-path=/Users/ndobrovolskaya/Library/Developer/Xcode/DerivedData/ModuleCache
    -fmodules-prune-interval=86400 -fmodules-prune-after=345600 -fbuild-session-file=/Users/ndobrovolskaya/Library/Developer/Xcode/DerivedData/ModuleCache/Session.modulevalidation
    -fmodules-validate-once-per-build-session -Wnon-modular-include-in-framework-module
    -Werror=non-modular-include-in-framework-module -Wno-trigraphs -fpascal-strings -Os 
    -Wno-missing-field-initializers -Wno-missing-prototypes -Werror=return-type -Wunreachable-code
    -Werror=deprecated-objc-isa-usage -Werror=objc-root-class -Wno-missing-braces -Wparentheses
    -Wswitch -Wunused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable
    -Wunused-value -Wempty-body -Wconditional-uninitialized -Wno-unknown-pragmas -Wno-shadow
    -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wbool-conversion
    -Wenum-conversion -Wshorten-64-to-32 -Wno-newline-eof -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.1.sdk 
    -fstrict-aliasing -Wdeprecated-declarations -miphoneos-version-min=7.1 -g -fvisibility=hidden
    -Wno-sign-conversion -fprofile-instr-use=/Users/ndobrovolskaya/Desktop/Bonsai/Bonsai4/OptimizationProfiles/Bonsai4.profdata 
    -iquote /Users/ndobrovolskaya/Library/Developer/Xcode/DerivedData/Bonsai4-gppvscpdtzzkzdakppndntsjcuma/Build/Intermediates/Bonsai4.build/Release-iphoneos/Bonsai4.build/Bonsai4-generated-files.hmap
    -I/Users/ndobrovolskaya/Library/Developer/Xcode/DerivedData/Bonsai4-gppvscpdtzzkzdakppndntsjcuma/Build/Intermediates/Bonsai4.build/Release-iphoneos/Bonsai4.build/Bonsai4-own-target-headers.hmap
    -I/Users/ndobrovolskaya/Library/Developer/Xcode/DerivedData/Bonsai4-gppvscpdtzzkzdakppndntsjcuma/Build/Intermediates/Bonsai4.build/Release-iphoneos/Bonsai4.build/Bonsai4-all-target-headers.hmap
    -iquote /Users/ndobrovolskaya/Library/Developer/Xcode/DerivedData/Bonsai4-gppvscpdtzzkzdakppndntsjcuma/Build/Intermediates/Bonsai4.build/Release-iphoneos/Bonsai4.build/Bonsai4-project-headers.hmap
    -I/Users/ndobrovolskaya/Library/Developer/Xcode/DerivedData/Bonsai4-gppvscpdtzzkzdakppndntsjcuma/Build/Products/Release-iphoneos/include
    -I/Users/ndobrovolskaya/Desktop/Bonsai/Bonsai4/../assimp-ios-xcode46/include
    -I/usr/local/boost_1_57_0 -I/Users/ndobrovolskaya/Desktop/Bonsai -I/Users/ndobrovolskaya/Library/Developer/Xcode/DerivedData/Bonsai4-gppvscpdtzzkzdakppndntsjcuma/Build/Intermediates/Bonsai4.build/Release-iphoneos/Bonsai4.build/DerivedSources/arm64
    -I/Users/ndobrovolskaya/Library/Developer/Xcode/DerivedData/Bonsai4-gppvscpdtzzkzdakppndntsjcuma/Build/Intermediates/Bonsai4.build/Release-iphoneos/Bonsai4.build/DerivedSources
    -F/Users/ndobrovolskaya/Library/Developer/Xcode/DerivedData/Bonsai4-gppvscpdtzzkzdakppndntsjcuma/Build/Products/Release-iphoneos
    -MMD -MT dependencies -MF /Users/ndobrovolskaya/Library/Developer/Xcode/DerivedData/Bonsai4-gppvscpdtzzkzdakppndntsjcuma/Build/Intermediates/Bonsai4.build/Release-iphoneos/Bonsai4.build/Objects-normal/arm64/Tree-7C49AF5101739F7B.d --serialize-diagnostics /Users/ndobrovolskaya/Library/Developer/Xcode/DerivedData/Bonsai4-gppvscpdtzzkzdakppndntsjcuma/Build/Intermediates/Bonsai4.build/Release-iphoneos/Bonsai4.build/Objects-normal/arm64/Tree-7C49AF5101739F7B.dia
    -c /Users/ndobrovolskaya/OneDrive/OneDrive/Tree.s -o /Users/ndobrovolskaya/Library/Developer/Xcode/DerivedData/Bonsai4-gppvscpdtzzkzdakppndntsjcuma/Build/Intermediates/Bonsai4.build/Release-iphoneos/Bonsai4.build/Objects-normal/arm64/Tree-7C49AF5101739F7B.o
/Users/ndobrovolskaya/OneDrive/OneDrive/Tree.s:45:2: error: unknown directive
 .syntax unified
 ^
<instantiation>:2:2: error: unknown directive
 .thumb
 ^
/Users/ndobrovolskaya/OneDrive/OneDrive/Tree.s:53:1: note: while in macro instantiation
BEGIN_FUNCTION_THUMB addVertsUsingNeon
^
<instantiation>:4:2: error: unknown directive
 .thumb_func _addVertsUsingNeon
 ^
/Users/ndobrovolskaya/OneDrive/OneDrive/Tree.s:53:1: note: while in macro instantiation
BEGIN_FUNCTION_THUMB addVertsUsingNeon
^
/Users/ndobrovolskaya/OneDrive/OneDrive/Tree.s:83:15: error: vector register expected
vld1.f32 {q4-q5},[r0:128]!
          ^
<instantiation>:1:1: error: unrecognized instruction mnemonic
bx lr
^
/Users/ndobrovolskaya/OneDrive/OneDrive/Tree.s:423:1: note: while in macro instantiation
END_FUNCTION
^
Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang failed with exit code 1

您正在为ARM64编译项目,但程序集文件使用的指令仅支持32位ARM目标。值得注意的是,它使用了与Thumb相关的指令,这意味着该代码使用的是ARM64代码中不支持的Thumb 2指令集。

检查一下,当您启用评测时,是否没有意外地切换到构建64位项目。