Используя 5.1 SDK, я не смог получить -arch принятым даже при использовании libclang.dylib.
После некоторого futzing (а именно, вручную запустив команды clang, созданные xcodebuild с флагом -v
, как предложено), моя лучшая установка была:
let g:clang_complete_auto = 1
"not strictly necessary
set omnifunc=ClangComplete
let g:clang_user_options='clang -cc1 -triple i386-apple-macosx10.6.7 -target-cpu yonah -target-linker-version 128.2 -resource-dir /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/3.1 -fblocks -x objective-c -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk -D __IPHONE_OS_VERSION_MIN_REQUIRED=50100 || exit 0'
добавление -cc1
- это единственное, что я не вижу в других ресурсах Stackoverflow или где-либо еще (очевидно, этот флаг позволяет использовать убогую комбинацию драйвера clang и необработанных флагов cc1). Как только это было добавлено, оно внезапно сработало, по крайней мере, для завершения Cocoa и UIKit (попробуйте набрать [NSString C-x C-u
).
Тем не менее, что-то все еще слегка сломано.
Набрав :copen
Я вижу это после завершения (успешно или нет):
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers/CFURL.h|654 col 48 error| expected ';' after top level declarator
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers/CFUtilities.h|14 col 39 error| expected function body after function declarator
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers/CFBase.h|60 col 32 info| expanded from macro 'CF_AVAILABLE_IOS'
/usr/include/Availability.h|145 col 53 info| expanded from macro '__OSX_AVAILABLE_STARTING'
<scratch space>|25 col 1 info| expanded from macro '__AVAILABILITY_INTERNAL'
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers/CoreFoundation.h|92 col 10 error| 'CoreFoundation/CFUserNotification.h' file not found
Кроме того, хотя я добавил различные -I
флаги либо в мой файл .clang_complete
, либо непосредственно в строку clang_user_option
s, clang_complete
работает только с некоторыми, но не со всеми заголовками в моем проекте. .. без видимой причины, почему один работает, но не другие. (Предложения приветствуются).