CMake 错误:无法创建命名生成器 Visual Studio 15 2017 Win64-T

问题描述 投票:0回答:4

我想根据此处的说明构建此项目:https://github.com/xmrig/xmrighttps://github.com/xmrig/xmrig/wiki/Windows-Build,但是当我尝试运行下面的命令:

C:\Users\dmin\Documents\xmrig-2.3.1\build>cmake .. -G "Visual Studio 15 2017 Win
64"-T v140_xp -DCMAKE_BUILD_TYPE=Release  -DUV_INCLUDE_DIR=C:\Program Files\libu
v\include -DUV_LIBRARY=C:\Program Files\libuv\Release\lib\libuv.lib
CMake Error: Could not create named generator Visual Studio 15 2017 Win64-T

我收到这些错误:

CMake Error: Could not create named generator Visual Studio 15 2017 Win64-T

Generators
  Visual Studio 15 2017 [arch] = Generates Visual Studio 2017 project files.
                                 Optional [arch] can be "Win64" or "ARM".
  Visual Studio 14 2015 [arch] = Generates Visual Studio 2015 project files.
                                 Optional [arch] can be "Win64" or "ARM".
  Visual Studio 12 2013 [arch] = Generates Visual Studio 2013 project files.
                                 Optional [arch] can be "Win64" or "ARM".
  Visual Studio 11 2012 [arch] = Generates Visual Studio 2012 project files.
                                 Optional [arch] can be "Win64" or "ARM".
  Visual Studio 10 2010 [arch] = Generates Visual Studio 2010 project files.
                                 Optional [arch] can be "Win64" or "IA64".
  Visual Studio 9 2008 [arch]  = Generates Visual Studio 2008 project files.
                                 Optional [arch] can be "Win64" or "IA64".
  Visual Studio 8 2005 [arch]  = Deprecated.  Generates Visual Studio 2005
                                 project files.  Optional [arch] can be
                                 "Win64".
  Borland Makefiles            = Generates Borland makefiles.
  NMake Makefiles              = Generates NMake makefiles.
  NMake Makefiles JOM          = Generates JOM makefiles.
  Green Hills MULTI            = Generates Green Hills MULTI files
                                 (experimental, work-in-progress).
  MSYS Makefiles               = Generates MSYS makefiles.
  MinGW Makefiles              = Generates a make file for use with
                                 mingw32-make.
  Unix Makefiles               = Generates standard UNIX makefiles.
  Ninja                        = Generates build.ninja files.
  Watcom WMake                 = Generates Watcom WMake makefiles.
  CodeBlocks - MinGW Makefiles = Generates CodeBlocks project files.
  CodeBlocks - NMake Makefiles = Generates CodeBlocks project files.
  CodeBlocks - NMake Makefiles JOM
                               = Generates CodeBlocks project files.
  CodeBlocks - Ninja           = Generates CodeBlocks project files.
  CodeBlocks - Unix Makefiles  = Generates CodeBlocks project files.
  CodeLite - MinGW Makefiles   = Generates CodeLite project files.
  CodeLite - NMake Makefiles   = Generates CodeLite project files.
  CodeLite - Ninja             = Generates CodeLite project files.
  CodeLite - Unix Makefiles    = Generates CodeLite project files.
  Sublime Text 2 - MinGW Makefiles
                               = Generates Sublime Text 2 project files.
  Sublime Text 2 - NMake Makefiles
                               = Generates Sublime Text 2 project files.
  Sublime Text 2 - Ninja       = Generates Sublime Text 2 project files.
  Sublime Text 2 - Unix Makefiles
                               = Generates Sublime Text 2 project files.
  Kate - MinGW Makefiles       = Generates Kate project files.
  Kate - NMake Makefiles       = Generates Kate project files.
  Kate - Ninja                 = Generates Kate project files.
  Kate - Unix Makefiles        = Generates Kate project files.
  Eclipse CDT4 - NMake Makefiles
                               = Generates Eclipse CDT 4.0 project files.
  Eclipse CDT4 - MinGW Makefiles
                               = Generates Eclipse CDT 4.0 project files.
  Eclipse CDT4 - Ninja         = Generates Eclipse CDT 4.0 project files.
  Eclipse CDT4 - Unix Makefiles= Generates Eclipse CDT 4.0 project files.

我该如何解决?

PS:它不重复,因为没有答案CMake错误:无法创建命名生成器Visual Studio 14 2015 win64

谢谢你

c++ cmake visual-studio-2017
4个回答
3
投票

查看错误消息,它说没有:

Visual Studio 15 2017 Win64-T

您可能会注意到,cmake 解析了合并 Win64" 和 -T 选项的命令。在命令行中粘贴:

Win64" 和 -T 之间没有空格。

添加一个并再次运行命令。


2
投票

该问题是由于旧的 CMake 版本造成的,请更新您的 CMake 并尝试。 您可以通过运行 CMake --version 来检查 CMake 的版本。您应该将 CMake 安装到最新的可用版本。有时,如果您已经安装了最新的 CMake,但您的 CMake --version 显示的是旧版本,这意味着您的 CMake 是从其他地方获取的。检查你的环境变量 PATH 并将你的 Cmake 安装 bin 路径移动到 PATH 列表的顶部。


0
投票

我也有同样的问题。但我的问题是,我安装了 Cygwin,并且 Cygwin 有自己的内置版本的 C-make。我所做的就是从命令提示符(cmd)中解开 Cygwin,然后重建它。然后它就起作用了。确保您的命令提示符 (cmd) 中没有绑定任何东西,例如 Cygwin,因为它们有自己的“Cmake”版本。

检查此问题的一种方法是在命令提示符 (cmd) 或搜索中输入“cygwin”,然后尝试跟踪其文件来源,并尝试从命令提示符中删除其关系,或者仅卸载该应用程序使用不同版本的 Cmake。


0
投票

与上面 Praveen Patel 发布的答案类似,我的问题是 CMake 问题。 就我而言,VS2022 对我的路径中先于其自己的 CMake 的 CMake 不满意,尽管这两个版本非常相似。我禁用了独立的 CMake,让 Visual Studio 使用自己的 CMake,然后一切都工作得更好了。 即

> which cmake
/c/Program Files (x86)/CMake/bin/cmake
> cmake --version
cmake version 3.20.4

(有效删除“c:\Program Files (x86)\CMake”)

> which cmake
/c/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/bin/cmake
> cmake --version
cmake version 3.26.4-msvc4

...每个人都开心多了。

© www.soinside.com 2019 - 2024. All rights reserved.