Форум программистов, компьютерный форум, киберфорум
sourcerer
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  

Как прикрутить clang к IDE под виндой (пошаговое руководство)

Запись от sourcerer размещена 01.04.2015 в 20:17
Показов 19440 Комментарии 6
Метки c++, clang, codeblocks, howto, msys2

Я расскажу на примере Code::Blocks. Для других IDE надо будет просто в окошке свойств в Toolchain прописать путь к MSYS2 (но, я немного забежал вперёд, об это чуть позже). Итак, приступим.

Для 32-битной винды:

1-й этап (см. рис. step_1):
  1. идём на страницу проекта MSYS2
  2. скачиваем программу
  3. устанавливаем
  4. запускаем MSYS2 с ярлыка из меню Пуск -> MSYS2 32bit -> MinGW-w64 Win32 Shell
  5. открывается окошко терминала (консоли)
  6. в нём печатаем:
    pacman -Sy
  7. жмём Enter
  8. ждём, пока программа синхронизирует базы данных пакетов
  9. после того, как снова появилось приглашение вводить текст (значок $ и после него мигающий курсор), вводим следующую команду:
    pacman --needed -S bash pacman pacman-mirrors msys2-runtime
  10. жмём Enter
  11. на запрос
    :: Приступить к установке? [Y/n]
    отвечаем утвердительно (то есть Y)
  12. ждём, пока программа установит всё необходимое
  13. после того, как появилось приглашение, вводим следующую команду:
    exit
  14. программа закрывается

2-й этап (см. рис. step_2):
  1. идём в папку, в которую установили MSYS2 (по умолчанию это c:\msys32\ )
  2. запускаем файл autorebase.bat
  3. запускаем MSYS2 с ярлыка из меню Пуск -> MSYS2 32bit -> MinGW-w64 Win32 Shell
  4. после того, как появилось приглашение, вводим следующую команду:
    pacman -Su
  5. жмём Enter
  6. на запрос
    :: Приступить к установке? [Y/n]
    отвечаем утвердительно (то есть Y)
  7. ждём, пока программа установит всё необходимое
  8. после того, как появилось приглашение, вводим следующую команду:
    pacman -S mingw-w64-i686-clang
  9. жмём Enter
  10. на запрос
    :: Приступить к установке? [Y/n]
    отвечаем утвердительно (то есть Y)
  11. ждём, пока программа установит всё необходимое
  12. после того, как появилось приглашение, вводим следующую команду:
    exit
  13. программа закрывается

3-й этап:
  1. открываем Code::Blocks
  2. идём в Settings -> Compiler
  3. открывается окно Global Compiler Settings
  4. в выпадающем меню Selected compiler выбираем LLVM Clang Compiler
  5. переходим во вкладку Search Directories
  6. видим там три дополнительные вкладки: Compiler, Linker, Resource compiler
  7. нам нужна первая их этих трёх
  8. переходим в неё, жмём кнопку Add
  9. в выскочившем окошке вбиваем путь c:\msys32\mingw32\include\
  10. жмём OK
  11. видим рядом с вкладкой Search Directories вкладку под названием Toolchain executables
  12. переходим в неё
  13. окошке Compiler's installation directory прописываем путь C:\msys32\mingw32
  14. жмём OK

Для 64-битной винды:

1-й этап:
  1. идём на страницу проекта MSYS2
  2. скачиваем MSYS2 для 64-битной винды
  3. устанавливаем
  4. запускаем MSYS2 с ярлыка из меню Пуск -> MSYS2 64bit -> MinGW-w64 Win64 Shell
  5. открывается окошко терминала (консоли)
  6. в нём печатаем:
    pacman -Sy
  7. жмём Enter
  8. ждём, пока программа синхронизирует базы данных пакетов
  9. после того, как снова появилось приглашение вводить текст (значок $ и после него мигающий курсор), вводим следующую команду:
    pacman --needed -S bash pacman pacman-mirrors msys2-runtime
  10. жмём Enter
  11. на запрос
    :: Приступить к установке? [Y/n]
    отвечаем утвердительно (то есть Y)
  12. ждём, пока программа установит всё необходимое
  13. после того, как появилось приглашение, вводим следующую команду:
    exit
  14. программа закрывается

2-й этап:
  1. запускаем MSYS2 с ярлыка из меню Пуск -> MSYS2 64bit -> MinGW-w64 Win64 Shell
  2. после того, как появилось приглашение, вводим следующую команду:
    pacman -Su
  3. жмём Enter
  4. на запрос
    :: Приступить к установке? [Y/n]
    отвечаем утвердительно (то есть Y)
  5. ждём, пока программа установит всё необходимое
  6. после того, как появилось приглашение, вводим следующую команду:
    pacman -S mingw-w64-x86_64-clang
  7. жмём Enter
  8. на запрос
    :: Приступить к установке? [Y/n]
    отвечаем утвердительно (то есть Y)
  9. ждём, пока программа установит всё необходимое
  10. после того, как появилось приглашение, вводим следующую команду:
    exit
  11. программа закрывается

3-й этап:
  1. открываем Code::Blocks
  2. идём в Settings -> Compiler
  3. открывается окно Global Compiler Settings
  4. в выпадающем меню Selected compiler выбираем LLVM Clang Compiler
  5. переходим во вкладку Search Directories
  6. видим там три дополнительные вкладки: Compiler, Linker, Resource compiler
  7. нам нужна первая их этих трёх
  8. переходим в неё, жмём кнопку Add
  9. в выскочившем окошке вбиваем путь c:\msys64\mingw64\include\
  10. жмём OK
  11. видим рядом с вкладкой Search Directories вкладку под названием Toolchain executables
  12. переходим в неё
  13. окошке Compiler's installation directory прописываем путь C:\msys64\mingw64
  14. жмём OK

P.S. Благодарности:
Хочу поблагодарить моего друга DrOffset'а, без которого я вряд ли бы догадался использовать MSYS2 и вряд ли бы смог с ней разобраться.
Также хочу поблагодарить разработчиков MSYS2 за их труд, подаривший людям замечательную возможность работать в среде Windows в *nix-манере с помощью простого и удобного инструментария.
Благодарю разработчиков Code::Blocks, Boost и всех, кто трудился над созданием и совершенствованием C++ - без них многое было бы гораздо сложнее, а кое-что, наверное, невозможно вовсе.
Миниатюры
Нажмите на изображение для увеличения
Название: step_1.JPG
Просмотров: 742
Размер:	155.0 Кб
ID:	3135   Нажмите на изображение для увеличения
Название: step_2.JPG
Просмотров: 781
Размер:	72.5 Кб
ID:	3136  
Метки c++, clang, codeblocks, howto, msys2
Размещено в howto
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 6
Комментарии
  1. Старый комментарий
    Еще бы надо прописать разницу между msys2 и msys2-base.
    А то не совсем ясно, какую качать.
    Запись от ValeryLaptev размещена 11.11.2016 в 19:48 ValeryLaptev вне форума
  2. Старый комментарий
    Ужас.
    Столько действий что бы просто добавить компилятор Clang в Code::Blocks !
    Да еще попробуй сам сделай ! Без помощи не риально !
    MSYS2 32bit загрузила больше 1 гига всякой гадости.
    Ставилось минут 20.
    Решил посмотреть размер папки MSYS2. Размер был скромный ! 3 гига 148 метров.
    На трёхдюймовую дискету как раз влезает ))

    Мягко говоря не приятное впечатление от всего этого безобразия и установки Clang в Code::Blocks.
    Мрак.
    Запись от ronniko размещена 25.01.2019 в 12:35 ronniko вне форума
  3. Старый комментарий
    Решил проверить как работает Clang в Code::Blocks и скомпилить с++:
    C++
    1
    2
    3
    4
    5
    6
    7
    
    #include <iostream>
    using namespace std;
     
    int main(){
        cout << "Hello world!" << endl;
        return 0;
    }
    Выдало:
    ||=== Build: Release in console (compiler: LLVM Clang Compiler) ===|
    ||warning: argument unused during compilation: '-s' [-Wunused-command-line-argument]|
    ||error: linker command failed with exit code 1104 (use -v to see invocation)|
    ||=== Build failed: 1 error(s), 1 warning(s) (0 minute(s), 0 second(s)) ===|

    PS: Моей радости не было конца и края ! А веселые и задорные слова сами вырывались из уст !
    Запись от ronniko размещена 25.01.2019 в 13:10 ronniko вне форума
  4. Старый комментарий
    Для себя сделал вывод.
    Или ставить Code blocks с mingw (будет 300 метров)
    Или не мучатся и ставить сразу Visual studio 2014 (она к стати делает Release exe малого размера ).
    Visual studio 2014 установленная весит 3 гига 600 метров.

    PS: Code blocks можно запутаться когда стоят разные версии того же Clang. Это создает много лишних телодвижений.
    Запись от ronniko размещена 25.01.2019 в 14:50 ronniko вне форума
  5. Старый комментарий
    Аватар для Avazart
    Нафига Вам вообще сдались кодеблохи и минГиви ? Вот смысл?
    Как по мне лучше использовать QtCreator + Qt + MSVC. И гуи и консоль и меньше мороки с прикручиванием других либ.
    Запись от Avazart размещена 25.01.2019 в 18:25 Avazart вне форума
  6. Старый комментарий
    Я например скачав 300 метров Code::Blocks подумал как классно.
    И думал что clang так же легко и быстро прикрутить к Code::Blocks
    А оно вон как вышло.

    Так что я купился на малый размер Code::Blocks и быструю установку.
    А потом начались сюрпризы.
    Запись от ronniko размещена 28.01.2019 в 10:06 ronniko вне форума
 
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru