在win上编译clang / LLVM会导致编译错误 - 如何修复?

时间:2014-02-17 15:56:31

标签: cmake clang llvm emscripten asm.js

我偶然发现在我的Win 7 64位计算机上安装clang / LLVM以在Visual Studio 2010安装程序中设置Emscripten时遇到问题。我在https://github.com/kripken/emscripten/wiki/Using-Emscripten-on-Windows跟随Emscripten的官方指南,偶然发现了有关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-不透明value.cpp' [c:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ VC \ b   在\编译\工具\铛\测试\检查clang.vcxproj]     CUSTOMBUILD:错误:读取错误' 10.0 \ VC \ bin \ llvm \ tools \ clang \ test \ Index \   PCH与 - errors.m' [c:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ VC \ bin \   建立\工具\铛\测试\检查clang.vcxproj]

显然,一条路径开始于 ' 10.0 \ VC ...'完全无效..它错过了' C:\ Program Files(x86)\ Microsoft Visual Studio'在前面......(我已经检查过测试中有一个类似的文件\索引\ - 它是!

我的问题是:我该如何解决这个问题? a)我可以设置一个额外的包含路径,例如' C:\ folder \ MS Visual' (包括空间)?

到目前为止我尝试了什么: a)从Visual Studio提示和正常提示执行此操作。使用默认和自定义位置。 b)运行MSBUILD,如

  

msbuild LLVM.sln / p:Configuration = Release / p:" VCBuildAdditionalOptions = C:\ Program Files(x86)\ Microsoft Visual Studio"   c)试图改变PATH / Systemroot ..在此期间因为未知原因而破坏了我的系统根(它抱怨了一条错误的路径,例如" C:\ Program"并且显然已经删除了它。)

我严重陷入困境,除了这些步骤之外我不知道。设置包含路径似乎没有帮助 - 虽然我想知道CMAKE的东西是否存在空间问题或者发生了什么。

由于Emscripten和LLVM的作者称他们的Windows支持" experimental",我并不是唯一一个在设置LLVM / clang以便以后与Visual Studio 2010一起使用时遇到麻烦的人(不是2012年..)。我很抱歉格式不好,出于某种原因,我今天不能允许我整齐的格式化。我虽然使用夜间浏览器构建。

1 个答案:

答案 0 :(得分:2)

如果您只需要构建LLVM,则可以生成NMake Makefiles并使用nmake而不是msbuild进行构建。似乎在某处有一个引用问题(可能是CMake,CmakeLists.txt,msbuild,谁知道)。

第二个想法,这可能是环境变量的问题。你是怎么设置PATH的?尝试使用新的" Visual Studio Developer命令提示符"。

相关问题