Я загружаю последние версии LLVM3.0 и Clang3.0, следуя инструкциям по сборке, и наконец получаю файл решения VS "LLVM.sln" и все файлы .vcproj.
Затем я собираю libClang, но при сборке проекта "LLVMSupport" произошли некоторые ошибки:
ошибка C2065: «PSRWLOCK»: неопределенный идентификатор
проблема, расположенная в RWMutex.cpp, которая включает в себя «Windows / RWMutex.inc».
в файле "RWMutex.inc" я вижу блок кода:
// Windows has slim read-writer lock support on Vista and higher, so we
// will attempt to load the APIs. If they exist, we will use them, and
// if not, we will fall back on critical sections. When we drop support
// for XP, we can stop lazy-loading these APIs and just use them directly.
#if defined(__MINGW32__)
// Taken from WinNT.h
typedef struct _RTL_SRWLOCK {
PVOID Ptr;
} RTL_SRWLOCK, *PRTL_SRWLOCK;
// Taken from WinBase.h
typedef RTL_SRWLOCK SRWLOCK, *PSRWLOCK;
#endif
...
что это значит? я должен определить " MINGW32 ", даже если я использую компилятор Microsoft C ++?