Какой компилятор Clang мне следует скачать? - PullRequest
24 голосов
/ 20 февраля 2011

Я хочу установить компилятор Clang в моей системе. Я пошел на по этой ссылке , но так много вариантов загрузки меня смутило, какую версию мне скачать?

Я использую ноутбук Dell: Windows 7 Basic 64-bit. Я уже установил MinGW версии 4.5.0. Я также установил Visual Studio 2008, а также 2010.

Как вы думаете, что является лучшим выбором для меня? Какой Clang я должен скачать? Как мне это настроить? Я собираюсь использовать Clang в первый раз. Поэтому предложите мне лучшие варианты!

Кстати, можно ли настроить Clang (или Visual Studio) так, чтобы Visual Studio могла использовать компилятор Clang для компиляции моего кода на C и C ++?


EDIT:

Что это значит, когда на странице загрузки загадочно написано "Front End Binaries для Mingw32 / x86" ?

Ответы [ 3 ]

14 голосов
/ 20 февраля 2011

Вы можете использовать Clang с Visual Studio или MinGW.Выбор за вами.Но для создания исполняемых файлов Windows вам потребуется внешний компоновщик (link.exe от MSVS или ld.exe / g ++. Exe от MinGW).

Если вы хотите использовать MinGW, загрузите следующий за последним элемент (двоичные файлы внешнего интерфейса).to mingw).

Вы также можете скомпилировать Clang / LLVM из исходного кода, см. здесь .Это позволяет вам попробовать MSVS или MinGW (-w64).Вам понадобится CMake для процесса сборки.

ОБНОВЛЕНИЕ : относительно вашего редактирования: описание "внешнего интерфейса" отражает либо тот факт, что llvm может использоваться в качестве бэкэнда в компиляции GCC черезllvm-gcc (в Google много информации об этом) или тот факт, что сам Clang не может связать ваш код вместе в исполняемый файл или библиотеку.Вам все еще нужен компоновщик системы, как я описал выше.

2 голосов
/ 19 декабря 2013

Clang сейчас начали выпускать сборки снимков Windows

1 голос
/ 04 марта 2013

Отсутствует. Front End Binaries @ Mingw32 / x86 близок, но вы явно упомянули Windows 7 Basic 64-bit поэтому, чтобы быть очень конкретным, вы получите 64-битные преимущества. Таким образом, вы будете следовать шагам на http://clang.llvm.org/get_started.html#buildWindows. Вы можете получить VS2012 Express, и строка с CMake должна быть «Visual Studio 11 Win64». Выберите «Release» вместо конфигурации отладки по умолчанию из выпадающего списка и затем выполните сборку. Цепочки инструментов представляют собой тесно связанную иерархию, и потворство MS нестандартным расширениям никогда не обновлялось ни одной реализацией других поставщиков. До завершения работы libcpp MinGW-W64 является ближайшим libstdc ++, который я получил от http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Automated%20Builds/mingw-w64-bin_i686-mingw_20111220.zip/download Проверьте наличие новой сборки на http://mingw -w64.sourceforge.net / Ниже приведены мои пробные вызовы для консоли Hi приложение

clang ++. Exe -fno-ms-совместимость -fno-use-cxa-atexit -IC: \ mingw \ include \ c ++ \ 4.7.0 -IC: \ mingw \ include \ c ++ \ 4.7.0 \ x86_64-w64 -mingw32 -IC: \ mingw \ include \ c ++ \ 4.7.0 \ backward -IC: \ mingw \ include -c C: \ Users \ Vipul \ Documents \ Hello.cpp -o C: \ Users \ Vipul \ Documents \ Hello .o

ld.exe -oC: \ Users \ Vipul \ Documents \ Hello.exe C: \ Users \ Vipul \ Documents \ Hello.o -m i386pep -Bdynamic -Lc: \ mingw \ lib c: \ mingw \ lib \ crt2.oc: \ mingw \ lib \ crtbegin.o -lstdc ++ -lmingw32 -lgcc_s -LC: \ Windows \ SUA \ opt \ gcc64 \ lib \ gcc \ x86_64-pc-interix6 \ 4.6.0 -lgcc -lmoldname -lmingwex - lmsvcrt -ladvapi32 -lshell32 -luser32 -lkernel32 c: \ mingw \ lib \ crtend.o

Параметры устанавливаются в одном единственном случае при настройке IDE для, скажем, Code :: Blocks. Библиотеки для передачи в ld linker определяются с помощью -v вместе с g ++, так как clang ++ будет пытаться связать источники libc ++ с двоичными файлами VS2012. Использовать g ++ вместо ld проще, но редко дает сбой, если ld не найден внутри из-за тесной связи цепочки инструментов с жестким кодированием местоположений инструментов в исходном коде.

...