我在iOS的Xcode .pbxproj文件中有这个:
buildSettings = {
CONFIGURATION_BUILD_DIR = bin/arm/Debug;
"EXCLUDED_SOURCE_FILE_NAMES[sdk=iphoneos*][arch=arm64]" = (
AES_AESNI.cpp
};
"EXCLUDED_SOURCE_FILE_NAMES[sdk=iphoneos*][arch=x86_64]" = (
AES_ARMV8.cpp
};
然而,Xcode完全忽略了这些指令,尝试在x64-64版本(a.k.a.Simulator)中编译ARM64版本中的AES_AESNI.cpp和AES_ARMV8.cpp。
这些指令在项目的Mac OS版本中运行良好,可以分离x86-64和i386,以及#34; iphoneos *"替换为" macosx *"当然。删除" [sdk = iphoneos *]"部分没有效果:问题似乎与架构匹配有关。
Xcode版本7.3.1和9.2.0都出现了这个问题。