【发布时间】:2015-07-27 09:50:06
【问题描述】:
我正在尝试使用 CMake 和 VS 2012 构建一些东西。问题是我的 VS 安装在 D:\Pliki programów (x86)\Microsoft Visual Studio 11.0 上。我的 C 盘上没有可用空间。
CMake 无法找到我的 VS。我试图指定 VS 编译器 cl.exe,但无论如何它都要求在同一个文件夹中输入 dll。我还尝试将指定的工具链与 vcvarsall.bat 一起使用。但我不确定我是否做对了这些事情。
我想我需要将 VS 位置添加到 CMake,但是如何?我尝试设置 PATH 但它不起作用。
而且搜索这个问题很困难,所有搜索引擎都认为我想为我要构建的程序更改安装路径。
更新
我添加了variable_watch(CMAKE_MAKE_PROGRAM)。
CMakeLists.txt:3(项目)中的 CMake 调试日志: 使用 UNKNOWN_READ_ACCESS 访问变量“CMAKE_MAKE_PROGRAM” 价值 。 CMakeLists.txt:3 处的 CMake 调试日志(项目): 使用带有值的 MODIFIED_ACCESS 访问变量“CMAKE_MAKE_PROGRAM” C:/Windows/Microsoft.NET/Framework/v4.0.30319/MSBuild.exe。 C 编译器标识未知 CXX 编译器标识未知 CMakeLists.txt:3(项目)处的 CMake 错误: 找不到 CMAKE_C_COMPILER。
在输出文件中:
LINK : fatal error LNK1104: cannot open file 'MSVCRTD.lib'
CMake 是否在 VS 11 安装文件夹中寻找库?问题是 VS 安装程序将库放在 C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\lib\amd64 中。
【问题讨论】:
-
一项快速测试表明,CMake 实际上通过
MSBuild.exe在我的PC 上找到了VS。如果我在我的project()命令之前添加variable_watch(CMAKE_MAKE_PROGRAM),然后调用类似cmake.exe -G "Visual Studio 11" ..我得到的东西 - 除了对变量的其他访问 -Variable "CMAKE_MAKE_PROGRAM" was accessed using MODIFIED_ACCESS with value"C:/windows/Microsoft.NET/Framework/v4.0.30319/MSBuild.exe". -
我还在不同的目录中安装了 VS2012,它对我有用。 CMake 确实在
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MSBuild\ToolsVersions\4.0\MSBuildToolsPath搜索注册表。你能在你的电脑上检查它指向的位置吗?
标签: visual-studio cmake