Проведя дополнительные исследования, я обнаружил, что правильным подходом является использование инструментов libTooling
.Как указано в их документации:
Clang Tooling needs a compilation database to figure out specific build options for each file. Currently it can create a compilation database from the compile_commands.json file
Для проектов Xcode этот файл может быть сгенерирован следующим образом:
xcodebuild -project PROJECT_NAME.xcodeproj | xcpretty -r json-compilation-database --output compile_commands.json
, вам необходимо установить xcpretty
драгоценный камень.(gem install xcpretty
)
Источник: https://clang.llvm.org/docs/HowToSetupToolingForLLVM.html
ОБНОВЛЕНИЕ: ЕСЛИ как и у меня, у вас проблемы с файлом compile_commands.json
, созданным из журналов xcodebuild, простопередайте эти команды в ваш двоичный файл:
-mios-simulator-version-min=10.0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk -isystem /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/10.00/include -I/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1 -I/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/include -F/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/Frameworks
Возможно, вам потребуется обновить некоторые параметры в зависимости от конфигурации вашей системы, но в настоящее время это работает нормально для меня.