Я следовал следующему пошаговому руководству , и мне удалось, после некоторой путаницы, заставить clang компилироваться с использованием code: blocks и MinGW. Отлично, теперь я могу добавить модуль Clang для затмения (зачем иметь одну IDE, а четыре -) и начать компиляцию.
Я могу скомпилировать простую программу, которая не использует стандартную библиотеку, но, к сожалению, когда я пытаюсь скомпилировать это:
#include <iostream>
using namespace std;
int main()
{
cout << "!!!Hello World!!!" << endl; // prints !!!Hello World!!!
return 0;
}
прежде всего я получаю это:
.. \ src \ test.cpp: 9: 10: фатальная ошибка: файл 'iostream' не найден
поэтому я добавляю заголовки Mingw к пути включения; тогда я получаю это:
'фатальная ошибка: файл' bits / c ++ config.h '
не найдено '
что странно. Почему MingW работает, если этот файл не в «битах»? Это встроено в компилятор? Не берите в голову, я нахожу реализацию этого и создаю файл в 'bits /'.
Затем я получаю целую бурю ошибок, в том числе странных, которые, кажется, предполагают, что либо clang неправильно реализует препроцессор, либо мое понимание препроцессора неверно.
C:\Program Files\CodeBlocks\MinGW\lib\gcc\mingw32\4.4.1\include\c++/cwchar:45:26: error: expected value in expression
#if _GLIBCXX_HAVE_WCHAR_H
и многие другие. Должно ли это быть
#if defined(_GLIBCXX_HAVE_WCHAR_H)
или
#ifdef _GLIBCXX_HAVE_WCHAR_H?
Если это так, то стандартные библиотеки MinGW неверны.
Полагаю, я ошибочен, предполагая, что clang может быть вставлен вместо gcc и что он не предназначен для работы со стандартными библиотеками gnu. Любое подтверждение или отрицание этого, подкрепленное доказательствами, будет приветствоваться!
Итак, есть ли у кого-нибудь надежный способ компиляции clang на ПК с Windows? В Интернете не хватает информации о лязге и особенно о Windows.
Я действительно хочу, чтобы Clang и LLVM работали, поскольку они звучат великолепно из того, что я прочитал. Любая помощь будет оценена.
Спасибо.