Компиляция clang / LLVM при win приводит к ошибкам компиляции - как исправить?

Я столкнулся с проблемами при установке clang / LLVM на моем 64-разрядном компьютере с Win 7 для настройки Emscripten в моей программе установки Visual Studio 2010. Я следил за официальным руководством от Emscripten по адресу https://github.com/kripken/emscripten/wiki/Using-Emscripten-on-Windows и столкнулся с проблемами, касающимися необходимой компиляции clang / LLVM.

svn co http://llvm.org/svn/llvm-project/llvm/tags/RELEASE_32/final llvm

cd llvm\tools

svn co http://llvm.org/svn/llvm-project/cfe/tags/RELEASE_32/final clang

cd ..\\..

mkdir build

cmake -G "Visual Studio 10" ..\llvm

msbuild LLVM.sln /p:Configuration=Release

В результате возникает множество ошибок, похожих на эту:

CUSTOMBUILD: ошибка: ошибка чтения '10 .0 \ VC \ bin \ llvm \ tools \ clang \ test \ Index \ pch-opaque-value.cpp '[c: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ VC \ b in \ build \ tools \ clang \ test \ check-clang.vcxproj] CUSTOMBUILD: ошибка: ошибка чтения '10 .0 \ VC \ bin \ llvm \ tools \ clang \ test \ Index \ pch-with-errors.m '[c: \ Программные файлы (x86) \ Microsoft Visual Studio 10.0 \ VC \ bin \ build \ tools \ clang \ test \ check-clang.vcxproj]

Очевидно, что путь, начинающийся с '10 .0 \ VC ... ', полностью недействителен ... в нем отсутствует' C: \ Program Files (x86) \ Microsoft Visual Studio 'впереди ... (Я проверил, есть ли такой файл, как что в test \ Index \ - оно есть!

Мой вопрос: как мне это исправить? a) Могу ли я установить дополнительный путь включения, например «C: \ folder \ MS Visual» (включая пробел)?

Что я пробовал до сих пор: a) Делать это из приглашения Visual Studio и обычного запроса. Использование местоположения по умолчанию и настраиваемого местоположения. б) Запуск MSBUILD как

msbuild LLVM.sln / p: Configuration = Release / p: "VCBuildAdditionalOptions = C: \ Program Files (x86) \ Microsoft Visual Studio" c) Попытка изменить PATH / Systemroot .. Тем временем по неизвестным причинам мой системный root был уничтожен (Это пожаловался на неправильный путь, например "C: \ Program", и, очевидно, стер его).

Я серьезно застрял и не знаю ничего, кроме этих шагов. Настройка пути включения, похоже, не помогает - хотя мне интересно, были ли у CMAKE проблемы с пространством или что происходит.

Поскольку авторы Emscripten и, вероятно, LLVM называют свою поддержку Windows «экспериментальной», я не единственный, у кого проблемы с настройкой LLVM / clang для последующего использования с Visual Studio 2010 (не 2012 ..). Прошу прощения за плохое форматирование, по какой-то причине ТАК не позволяет мне сегодня аккуратное форматирование .. Я использую ночную сборку браузера.


person user1610743    schedule 17.02.2014    source источник
comment
Я регулярно собираю llvm / clang с генератором Ninja CMake (запускающим ninja из командной строки VS2012 x86 Native Tools), так что я знаю, что это, по крайней мере, работает.   -  person bames53    schedule 17.02.2014


Ответы (1)


Если вам просто нужна сборка LLVM, вы можете сгенерировать NMake Makefiles и построить с nmake вместо msbuild. Кажется, где-то есть проблема с цитированием (может быть, CMake, CmakeLists.txt, msbuild, кто знает).

Если подумать, это может быть проблема с переменными среды. Как вы настроили PATH? Попробуйте использовать новую «Командную строку разработчика Visual Studio».

person rubenvb    schedule 17.02.2014
comment
Что ж, выскакивает отсутствующий mspdb100.dll - я предполагаю, что какой-то неправильный путь сбросил общие переменные среды для командной строки Visual Studio. У кого-нибудь есть их копии для установки Visual Studio 2010? Открытие cmd.exe и набор ping тоже не работают, я думаю, это потому, что мой systemroot где-то в будущем опустел. - person user1610743; 17.02.2014
comment
@ user1610743 это должно быть невозможно, если вы не запускаете сборку от имени администратора, что было бы чрезвычайно глупо. В любом случае, похоже, это ваше окружение. - person rubenvb; 17.02.2014
comment
После восстановления моего пути $ path NMake работал некрасиво. Это было действительно пусто. В настоящее время я проверяю, работает ли Emscripten некорректно с Visual Studio AddIn. Спасибо за вашу помощь! - person user1610743; 17.02.2014