c++ - Xcode 配置文件不适用于汇编代码

标签 c++ ios xcode assembly profile

我尝试在 Xcode 7.1.1 中开始分析我的 iOS C++ 应用程序。但是当我进入“产品”-“配置文件”时,我收到了很多与用汇编编写的代码相关的错误。

我可以在 iPad 4 上毫无错误地构建和运行应用程序。该问题仅与分析有关。

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

我可以直接从 Instruments 使用“OpenGL ES Analysis”模板进行分析。但是我需要“核心数据”来分析缓存未命中。我无法从 Instruments 启动它 - 录制按钮被阻止。

错误信息的一部分:

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 位项目。

关于c++ - Xcode 配置文件不适用于汇编代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37263171/

相关文章:

c++ - 使用 Bash 在 Windows 10 上使用 Visual Studio 2015 构建 libvpx

ios - 如何使用 NSPredicate 通过 CoreData 中的 NSSet 属性的元素来过滤对象?

ios - 在 iOS 上,可以将多个 CIFilter 添加到 SpriteKit 节点吗?

xcode - Xcode : parse issue Unknown type name 'plementation' 上的奇怪错误

c++ - 在 Qt 中创建和存储调查

c++ - 将文件 (.a) 链接到共享对象 (.so)

ios - Swift:在 AFNetworking 调用的闭包中解包选项

ios - Swift:NSFileManager 子类

ios - 通过原子提要将第三方文档添加到 Xcode 5

c++ - RoundRect 的圆角边缘不平滑