Я установил Clang stable build 7.01 для готовых двоичных файлов Windows 64 на моем компьютере с Windows 7, и я не могу запустить его.Под этим я подразумеваю, что это сразу дампы ядра, прежде чем даже анализировать параметры командной строки.Файл дампа мне не сильно помогает.Вот вывод:
LLVM ERROR: out of memory
Wrote crash dump file "C:\Users\Lewis\AppData\Local\Temp\clang.exe-84805c.dmp"
0x0000000140A7F506 (0x0000000000000016 0x00000001425A4EFF 0x0000000140A7F500 0x0000000000000000)
0x00000001425A5275 (0x0000000000B9DD01 0x0000000000000000 0x0000000000000000 0x0000000000DBEB90)
0x000000014259CA84 (0x0000000000000002 0x0000000000DBEB90 0x0000000000B9DA60 0x00000001425E0B3E)
0x0000000140A7D55B (0x0000000000DB8880 0x0000000000B9DCC8 0x0000000000B9DCD8 0x0000000000000000)
0x0000000140A5F3EE (0x0000000000D84A20 0x0000000000000000 0x0000000000000000 0x0000000000D20000)
0x0000000140FC922D (0x0000000000B9E5A0 0x0000000000B9DF70 0x0000000000000000 0x00000001425E0104)
0x0000000140F27434 (0x0000000000D20230 0x0000000000D20230 0x0000000000D204A8 0x0000000000D25478)
0x0000000140F2B858 (0x0000000000D20158 0x0000000000000000 0x0000000000000000 0x0000000000000003)
0x000000013F6E3F9D (0x0000000000000000 0x0000000000000000 0x0000000000000000 0x01D4A35EF2AE27A0)
0x000000014258A7E8 (0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000)
0x00000000776B59CD (0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000), BaseThreadInitThunk() + 0xD bytes(s)
0x000000007781385D (0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000), RtlUserThreadStart() + 0x1D bytes(s)
У кого-нибудь есть идеи, что может быть причиной этого?Некоторые вещи, которые я пробовал:
- где-то видел, что установка Mingw может помочь.Ничего не изменило.
- Удалил все из пути, кроме каталога c: \ clang
- Переместил тестовый файл в каталог clang и все тот же результат.
- выяснилчто бегущий лязг без аргументов.тот же результат.
- Запуск от имени администратора
Я подозреваю, что отсутствует DLL или файл во время выполнения, но не должна ли чистая установка установить все необходимые файлы?Кроме того, у меня есть 4 ГБ памяти (1,5 используется системой) с четырехъядерным процессором, поэтому я сомневаюсь, что при запуске не хватает фактической памяти.
РЕДАКТИРОВАТЬ: Я начинаю сужаться по этой проблеме.Я буквально неделю провел, пытаясь заставить Clang запускаться на моей машине с Windows 7.Я скачал и установил каждый vc redist, установил многочисленные обновления и исправления KB.Еще ничего.Используя обходчик зависимостей, я обнаружил, что clang не может загрузить файлы DLL из набора API WINRT. В частности, не найдено всего семейства проблем "API-MS-WIN-CORE-WINRT-STRING-L1-1-0.DLL".Я переписал все 41 DLL из папки переадресации win 10 в win 10 sdk в папку clang и все еще не радуюсь.Разве я не смогу запустить Clang на Windows 7?
РЕДАКТИРОВАТЬ 2: Для тех, кто приезжает сюда с той же проблемой, я обнаружил проблему, и это глубоко.Очевидно Clang / LLVM для Windows скомпилирован (или скомпилирован с библиотеками) Visual Studio.Действительно лязг ...Почему вы не можете скомпилировать свой компилятор с собственным компилятором?Ешьте свою собачью еду, как говорится.При этом я обнаружил это, установив отладочную сборку llvm, которая дала мне лучшую диагностику ошибок.После кодов ошибок в глубокой яме кролика Google 2 года назад я попал в список рассылки llvm, где они обсуждали эту проблему и обсуждали перенос компиляции из VS 2013 в VS 2015. Проблема в том, что компиляция с VS (Visual Studio)создает зависимость от dll 64-битного DIA (Debug Interface Access), который устанавливается только в системах с установленной Visual Studio (и, очевидно, на Windows 10).Вот почему это не работает в моей системе, я установил Clang по той самой причине, по которой я не хотел устанавливать монстра 10-гигабайтный Visual STudio на моем компьютере.Однако, обнаружив это, я отказался от упрямства и установил его.Boom!Clang работает как шарм.