Поддержка Clang и LLVM в проектах Visual Studio

Поддержка Clang/LLVM для проектов CMake и MSBuild доступна в Visual Studio 2019 и Visual Studio 2022.

Вы можете использовать Visual Studio 2019 версии 16.2 и более поздних версий с clang/LLVM для редактирования, сборки и отладки проектов Visual Studio C++ (MSBuild), предназначенных для Windows или Linux.

Установка

Для лучшей поддержки интегрированной среды разработки в Visual Studio рекомендуется использовать новейшие средства компилятора Clang для Windows. Если они еще не установлены, их можно установить, открыв Visual Studio Installer и выбрав Средства C++ Clang для Windows в разделе дополнительных компонентов Разработка классических приложений на C++. Вы можете использовать существующую установку Clang на компьютере; Если это так, выберите C++ Clang-cl для средств сборки версии 142 или C++ Clang-cl для средств сборки версии 143.

Установка

Для лучшей поддержки интегрированной среды разработки в Visual Studio рекомендуется использовать новейшие средства компилятора Clang для Windows. Если они еще не установлены, их можно установить, открыв Visual Studio Installer и выбрав Средства C++ Clang для Windows в разделе дополнительных компонентов Разработка классических приложений на C++. Вы можете использовать существующую установку Clang на компьютере; Если это так, выберите службу поддержки MSBuild для набора инструментов LLVM (clang-cl).

Для стандартной библиотеки Microsoft C++ требуется по крайней мере Clang 8.0.0.

Снимок экрана: установщик Visual Studio 2019

Вкладка "Отдельные компоненты" выбрана в установщике. Выбран компилятор C++ Clang для Windows. C++ Clang-cl для средств сборки версии 142 (x64/x86) также выбран.

Снимок экрана: установщик Visual Studio 2022.

Вкладка "Отдельные компоненты" выбрана в установщике. Выбран компилятор C++ Clang для Windows. Поддержка MSBuild для набора инструментов LLVM (clang-cl) также выбрана.

В позднейших версиях Visual Studio предоставляются более новые версии набора инструментов Clang. Пакетная версия Clang обновляется автоматически, чтобы оставаться актуальной с учетом обновлений в реализации стандартной библиотеки Майкрософт. Например, Visual Studio 2019 версии 16.11 включает Clang версии 12.

Настройка проекта Windows для использования средств Clang

Чтобы настроить использование Clang в проекте Visual Studio, в обозревателе решений щелкните узел проекта правой кнопкой мыши и выберите пункт Свойства. Как правило, сначала следует выбрать элемент Все конфигурации в верхней части диалогового окна. Затем в разделе Общие>Набор инструментов платформы выберите LLVM (clang-cl) и нажмите кнопку ОК.

Снимок экрана: диалоговое окно

Страница свойств проекта открыта на странице "Свойства конфигурации" > "Общие". Выбран раскрывающийся список инструментов платформы, в котором выбран LLVM (clang-cl).

Если вы используете средства Clang, входящие в состав Visual Studio, никаких дополнительных действий не требуется. Для проектов Windows программа Visual Studio по умолчанию вызывает Clang в режиме clang-cl. Он связывается с реализацией стандартной библиотеки Майкрософт. По умолчанию clang-cl.exe находится в *%VCINSTALLDIR%\Tools\Llvm\bin\* и *%VCINSTALLDIR%\Tools\Llvm\x64\bin\*.

Если вы используете пользовательскую установку Clang, можно изменить значение LLVMInstallDir свойства. Дополнительные сведения см. в разделе Задание настраиваемого расположения LLVM.

Настройка проекта Linux для использования средств Clang

Для проектов Linux среда Visual Studio использует интерфейс, совместимый с Clang GCC. Свойства проекта и почти все флаги компилятора идентичны.

Чтобы настроить использование Clang в проекте Visual Studio для Linux, выполните указанные ниже действия.

  1. Щелкните правой кнопкой мыши узел проекта в обозревателе решений и выберите пункт Свойства.
  2. Как правило, сначала следует выбрать элемент Все конфигурации в верхней части диалогового окна.
  3. В разделе "Общие>инструменты платформы" выберите Clang для подсистема Windows для Linux, если вы используете подсистема Windows для Linux (WSL). Выберите Clang для удаленного Linux , если вы используете удаленный компьютер или виртуальную машину.
  4. Нажмите кнопку ОК.

Снимок экрана: диалоговое окно страниц свойств проекта Visual Studio 2019

Страница свойств проекта открыта на странице "Свойства конфигурации" > "Общие". Выбран набор инструментов платформы и выбран из списка параметров LLVM (clang-c l).

В Linux среда Visual Studio по умолчанию использует первое расположение Clang, которое встречается в свойстве среды PATH. Если используется настраиваемая установка Clang, измените значение свойства LLVMInstallDir или подставьте путь в свойстве Проект>Свойства>Свойства конфигурации>Каталоги VC++>Каталоги исполняемых файлов. Дополнительные сведения см. в разделе Задание настраиваемого расположения LLVM.

Настройка настраиваемого расположения и набора инструментов LLVM

Чтобы задать пользовательский путь к LLVM и задать пользовательскую версию набора инструментов LLVM для одного или нескольких проектов, создайте файл Directory.build.props . Затем добавьте этот файл в корневую папку любого проекта. Его можно добавить в корневую папку решения, чтобы применить его ко всем проектам в решении. Файл должен выглядеть следующим образом (но используйте фактический путь LLVM и номер версии):

<Project>
  <PropertyGroup>
    <LLVMInstallDir>C:\MyLLVMRootDir</LLVMInstallDir>
    <LLVMToolsVersion>15.0.0</LLVMToolsVersion>
  </PropertyGroup>
</Project>

Настройка пользовательской версии набора инструментов LLVM в интегрированной среде разработки

Начиная с Visual Studio 2019 версии 16.9, можно задать настраиваемую версию набора инструментов для LLVM в Visual Studio. Чтобы задать это свойство в проекте, выполните указанные ниже действия.

  1. Откройте диалоговое окно Страницы свойств проекта. Дополнительные сведения см. в разделе Set C++ компилятора и свойств сборки.

  2. Перейдите на страницу свойств Свойства конфигурации>Общие.

  3. Измените значение свойства Набор инструментов платформы на LLVM (clang-cl), если оно еще не задано. Нажмите кнопку "Применить" , чтобы сохранить изменения.

  4. Выберите страницу "Свойства>конфигурации" "Дополнительное свойство".

  5. Измените свойство Версия инструментов LLVM на предпочитаемую версию, а затем нажмите кнопку ОК, чтобы сохранить изменения.

Свойство Версия набора инструментов LLVM отображается только при выборе набора инструментов платформы LLVM.

При добавлении Directory.build.props файла в проект или решение параметры отображаются в диалоговом окне "Страницы свойств проекта". Однако изменения этих свойств в Visual Studio переопределяют параметры в Directory.build.props файле.

Задание свойств, редактирование, сборка и отладка

После настройки конфигурации Clang снова щелкните правой кнопкой мыши узел проекта и выберите пункт Перезагрузить проект. Теперь можно выполнять сборку и отладку проекта с помощью средств Clang. Visual Studio обнаруживает, что используется компилятор Clang, и предоставляет IntelliSense, выделение, навигацию и другие функции редактирования. Ошибки и предупреждения отображаются в окне вывода. Страницы свойств проекта для конфигурации Clang похожи на параметры для MSVC. Однако некоторые зависящие от компилятора функции, такие как "Изменить и продолжить", недоступны для конфигураций Clang. Можно задать компилятор Clang или параметр компоновщика, который недоступен на страницах свойств. Добавьте его вручную на страницах свойств в разделе Свойства конфигурации>C/ C++ (или "Компоновщик")>Командная строка>Дополнительные параметры.

При отладке можно использовать точки останова, память и визуализацию данных, а также большинство других функций отладки.

Снимок экрана: отладка примера приложения Visual Studio

Часть приложения, видимого, создает вектор строки и добавляет в него некоторые строки. Выполнение остановлено в точке останова для кода: v.push_back("Clang/LLVM");".