Решил попробовать заточить компиляцию проекта в Clang. Что-то много о нем хвалебных постов попадается в последнее время. Но, как сказал Козьма Прутков: “Зри в корень”.

Проект Trickrig мультиплатформенный - под MS-Windows для компиляции используется MinGW- w64, из-за этого, к сожалению, со Шлангом пока не все гладко. Как написано на сайте разработчика совместимость гарантируется только с инструментами MS-Visual. Что касаемо MinGW-w64 то есть недоработки и баги (http://clang.llvm.org/docs/UsersManual.html#mingw-w64). Но пробовать будем - надо по возможности внедрять новые технологии.

Не стал заморачиваться со сборкой, так так опытные люди говорят - “есть грабли”, а использовал готовые бинарники последнего релиза Clang. Для работы c MinGW-w64 содержимое установочного пакета Clang надо распаковать прямо в каталог MinGW-w64. На это указывает информация на сайте разработчиков - http://clang.llvm.org/docs/UsersManual.html#mingw-w64. Структура папок у обоих проектов реализована так, как принято в Linux (bin, lib, share, usr, unclude…). Туда-же распакуем и свежий релиз CMake (у него такая-же структура папок), так как с ним в Clang работать удобнее. Для распаковки дистрибутивов я с успехом пользуюсь архиватором 7-Zip.

Все сложил в нужные папки, “нарисовал” тестовый файлик, запустил clang++ для компиляции теста… Да, уж! Сыровата софтина. Вывалила кучу ошибок в стандартных либах плюсов. Спросил у Гугля по поводу парочки ошибок. Да, есть ответы. Надо использовать при работе со стандартными библиотеками С++ из свежего MinGW-w64 дополнительные ключи типа “-D__STRICT_ANSI__ -fms- compatibility-version=19.00 …” и так далее. В общем возникает закономерный вопрос - “что мне надо: танцы с бунами вокруг Clang+MinGw или разработка своего проекта.” Ответ, естественно, второй. Подождем, пока под Виндой Clang допилят до нормальной работы со всеми инструментами. Можно конечно установить Ms-Visual Studio - под ним вроде как работает. Но, знаете-ли, это мне совсем не нравится. Потому буду работать с добрым стабильным GCC.