visual-studio - CMake在生成器列表中找不到Visual Studios 2012

标签 visual-studio cmake

我正在尝试通过Firebreath tutorial运行,但是我无法使Cmake运行。 Cmake不会在Generators列表下注册任何版本的Visual Studio。这是运行cmake --help时的列表:

Generators

The following generators are available on this platform:
  Unix Makefiles              = Generates standard UNIX makefiles.
  Ninja                       = Generates build.ninja files (experimental).
  CodeBlocks - Ninja          = Generates CodeBlocks project files.
  CodeBlocks - Unix Makefiles = Generates CodeBlocks project files.
  Eclipse CDT4 - Ninja        = Generates Eclipse CDT 4.0 project files.
  Eclipse CDT4 - Unix Makefiles
                              = Generates Eclipse CDT 4.0 project files.
  KDevelop3                   = Generates KDevelop 3 project files.
  KDevelop3 - Unix Makefiles  = Generates KDevelop 3 project files.
  Sublime Text 2 - Ninja      = Generates Sublime Text 2 project files.
  Sublime Text 2 - Unix Makefiles
                              = Generates Sublime Text 2 project files.

我已经重新安装了CMake,安装了Visual Studios 2010和2012(Express和Professional版本),甚至卸载并重新安装了.NET 4.0至4.5(from here)。当我第一次运行它时,它就可以在我的个人计算机上正常工作。但是,我的笔记本电脑只是没有注册Visual Studio。

我都在Windows 7 Enterprise SP1上运行它。任何帮助表示赞赏。

这是我得到的确切错误:
C:\code\tutorial2\TutorialTestPlugin>firebreath\prep2012.cmd . build
A subdirectory or file build already exists.
Using projects in: "C:\code\tutorial2\TutorialTestPlugin"
Generating build files in: "C:\code\tutorial2\TutorialTestPlugin\build"
NOTE: The build files in "C:\code\tutorial2\TutorialTestPlugin\build" should *NE
VER* be modified directly.
When needed, make project changes in cmake files and re-run this script.
  Project-specific cmake files are found in [plugin dir]\CMakeLists.txt and
  [plugin dir]\Win\projectDef.cmake.
Note that parameters for cmake should be enclosed in double quotes, e.g. "-DVERB
OSE=1"
CMAKE parameters:

C:\code\tutorial2\TutorialTestPlugin\build>cmake -G "Visual Studio 11" -DFB_PROJ
ECTS_DIR="C:\code\tutorial2\TutorialTestPlugin"  "C:\code\tutorial2\TutorialTest
Plugin\firebreath"
CMake Error: Could not create named generator Visual Studio 11
cygwin warning:
  MS-DOS style path detected: C:\code\tutorial2\TutorialTestPlugin\firebreath
  Preferred POSIX equivalent is: /cygdrive/c/code/tutorial2/TutorialTestPlugin/f
irebreath
  CYGWIN environment variable option "nodosfilewarning" turns off this warning.
  Consult the user's guide for more details about POSIX paths:
    http://cygwin.com/cygwin-ug-net/using.html#using-pathnames

最佳答案

问题是您正在使用cygwin中包含的cmake,而不是Windows版本的cmake。看起来当前的cygwin版本是在没有Visual Studio生成器的情况下编译的,而Windows版本具有这些生成器。

在您的情况下,使Windows使用cmake的Windows版本的一种简单方法是卸载cygwin cmake,因为无论如何似乎都不需要。

一种替代方法是调整您的系统路径,以便c:\cygwin\bin在C:\Program Files(x86)\CMake 2.8\bin之后。

关于visual-studio - CMake在生成器列表中找不到Visual Studios 2012,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19913804/

相关文章:

c++ - 如何创建不需要Vista/Win7用户安装Visual C++可再发行组件的Windows可执行文件?

visual-studio - 在 Visual Studio 上调试 F# 代码时,未处理异常的位置不正确

使用 64 位变量的 C++ 尾递归

c++ - 使用Cmake输出库信息

c++ - 如何让 CMake 使用 Mingw-w64 gcc/g++?

linux - cmake源码和源码外导航

.net - 如何在 Visual Studio 中实际创建 .NET Core 项目?

c# - SharePoint ItemAdded 事件延迟

c++ - C++如何使用相同的.h并在使用相同的.h时选择不同的.cpp?

c++ - OSX Yosemite 10.10.3 上的 Cmake - GLEW : package 'gl' not found