Я хочу заставить Xcode использовать собственный компилятор ('clang-llvm' build from the src), поэтому я могу использовать плагин clang. Моя версия Xcode - 7.3.1.Как заставить Xcode использовать собственный компилятор?
ответ
От project setting
перейти к build setting
с выбранной целью. затем выберите All
рядом с Basic
с верхней панели. то в опции сборки вы можете увидеть опцию компилятора.
см ниже скриншоте,
Update:
Я думаю, вам следует обратиться Using C and C++ in an iOS App with Objective-C++ и this tutorial.
Пару лет назад я написал статью, в которой обращается именно эту проблему вы описываете: Creating and using Clang plugin with Xcode
Чтобы включить пользовательские лязг вам нужно на самом деле патч Внутренности самого Xcode.app
, это технически выполнимо, но:
- он сломается при обновлении Xcode
- он будет корректно работать на вашей машине
- версия плагина и ваш компилятор должен соответствовать, т.е. они должны быть скомпилированы с использованием того же дерева
Так что в целом это на самом деле не масштаб, так что будьте осторожны :)
Там в несколько неясна особенность Xcode, где он поддерживает "alternative toolchains". Например, Swift.org предоставляет устанавливаемые инструменты для Swift, созданные из существующих источников.
К сожалению, хотя документация Apple описывает, как устанавливать и использовать такие альтернативные инструментальные цепочки, она не описывает, как их создавать. В исходной базе Swift есть скрипты, которые создают инструментальную цепочку, и вы можете посмотреть на них, чтобы выяснить, как это делается. Они находятся в https://github.com/apple/swift/tree/master/utils. Начните с build-toolchain, который вызывает build-script и идите оттуда.
Люди говорят, что это возможно с помощью специальных инструментальных цепей. Я не проводил исследований по ним, потому что для меня работало более простое решение:
Также можно запускать интерфейсные модули напрямую, установив соответствующие «настройки сборки» Xcode. (Несколько способов сделать это, вы можете установить их в командной строке, например: xcodebuild build FOO = bla.) Вот несколько настроек сборки, которые я нашел полезными для ввода флагов C:
OTHER_CFLAGS, OTHER_CPLUSPLUSFLAGS или заменить компилятор (s) и линкер (ы):
CC, CPLUSPLUS, LD, LDPLUSPLUS, LIBTOOL
Тот же подход работает, чтобы контролировать "анализировать" действия: CLANG_ANALYZER_EXEC, CLANG_ANALYZER_OTHER_FLAGS
Предупреждение: некоторые из этих настроек сборки недокументированы (afaik). Используйте на свой риск.
(Взято из [cfe-dev] Compile/refactor iOS Xcode projects)
Для меня это было достаточно, чтобы определить следующие пользовательские настройки в Параметры построения проектов Xcode:
CC=my-c-compiler
CXX=my-cxx-compiler
LIBTOOL=my-linker-for-static-libraries
Если вы используете CMake, способ автоматического использования вашего компилятора заключается в использовании
set_target_properties(your-target PROPERTIES XCODE_ATTRIBUTE_CC "${YOUR_CC}")
set_target_properties(your-target PROPERTIES XCODE_ATTRIBUTE_CXX "${YOUR_CXX}")
- 1. Заставить компилятор использовать функцию
- 2. Как использовать собственный компилятор с Nant?
- 3. JIT-компилятор - как начать писать собственный компилятор?
- 4. Как заставить компилятор использовать явный конструктор копирования?
- 5. Force setup.py использовать мой собственный компилятор
- 6. xcode - как сменить компилятор?
- 7. Xcode 7 Невозможно определить компилятор использовать
- 8. Как сменить компилятор в Xcode
- 9. Оптимизирует ли собственный VBA-компилятор?
- 10. Как обновить XCode 4.3.2 компилятор
- 11. Как заставить компилятор C++ использовать определенную версию CRT?
- 12. Как заставить построитель Eclipse Ant использовать компилятор, встроенный в Eclipse?
- 13. Как заставить CMake использовать компилятор по умолчанию в системе PATH?
- 14. Как заставить CMake использовать компилятор по умолчанию в системе PATH?
- 15. Как заставить компилятор использовать совокупный инициализации вместо конструктора
- 16. Как заставить центр сертификации MS Enterprise использовать собственный шаблон?
- 17. Как я могу заставить C++ использовать свой собственный malloc?
- 18. C++: заставить компилятор использовать один из двух конкурирующих операторов
- 19. .NET Собственный компилятор продолжает метать ошибки компиляции
- 20. Создатель Qt - используя собственный компилятор x86?
- 21. Как заставить компилятор блокировать структуру? Пожалуйста, объясните
- 22. Как заставить Matlab компилятор работать быстрее?
- 23. Как заставить компилятор испускать devirtualized код
- 24. Как заставить компилятор проверить, что дано SIGNAL()?
- 25. Как заставить компилятор IKVM применять атрибуты сборки
- 26. Как заставить компилятор в autotools с Eclipse
- 27. Как заставить компилятор Visual Studio игнорировать файл?
- 28. Как заставить компилятор ресурсов на каждом компиляции?
- 29. Как заставить компилятор Xcode игнорировать библиотеку при создании для iOS-симулятора
- 30. Могу ли я заставить визуальную студию использовать компилятор mingw
Когда я добавляю компилятор к этой опции, он показывает мне, что это неподдерживаемый компилятор. –
с последним xcode вы можете использовать только 'llvm'. и почему вы хотите установить еще один? – Lion
Я хочу использовать плагин clang для получения информации о вызовах функций, кажется, что компилятор по умолчанию не поддерживает плагин. –