【问题标题】:CMake is not able to run simple testCMake 无法运行简单的测试
【发布时间】:2022-10-20 16:46:02
【问题描述】:

在 Ninja Generator 上运行,目前无法在 CMake 中使用以下输出运行测试代码:

有什么想法吗?

严重性代码 描述 项目文件行抑制状态 C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.20/Modules/CMakeTestCCompiler.cmake:66 处的错误 CMake 错误(消息): C 编译器

"C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe"

无法编译简单的测试程序。

它失败并显示以下输出:

Change Dir: C:/Users/jamieza/source/repos/CMakeProject2/out/build/x64-Debug/CMakeFiles/CMakeTmp

Run Build Command(s):C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/Ninja/ninja.exe cmTC_59a30 && [1/2] Building C object CMakeFiles\cmTC_59a30.dir\testCCompiler.c.obj
[2/2] Linking C executable cmTC_59a30.exe
FAILED: cmTC_59a30.exe 
cmd.exe /C "cd . && "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" -E vs_link_exe --intdir=CMakeFiles\cmTC_59a30.dir --rc=rc --mt=CMAKE_MT-NOTFOUND --manifests  -- C:\PROGRA~2\MIB055~1\2019\COMMUN~1\VC\Tools\MSVC\1429~1.301\bin\Hostx64\x64\link.exe /nologo CMakeFiles\cmTC_59a30.dir\testCCompiler.c.obj  /out:cmTC_59a30.exe /implib:cmTC_59a30.lib /pdb:cmTC_59a30.pdb /version:0.0 /machine:x64  /debug /INCREMENTAL /subsystem:console  kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib && cd ."
RC Pass 1: command "rc /fo CMakeFiles\cmTC_59a30.dir/manifest.res CMakeFiles\cmTC_59a30.dir/manifest.rc" failed (exit code 0) with the following output:
The system cannot find the file specified
ninja: build stopped: subcommand failed.

CMake 将无法正确生成此项目。 C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.20/Modules/CMakeTestCCompiler.cmake 66

【问题讨论】:

  • 尝试从 Visual Studio 2019 本机工具命令提示符运行 CMake,以便正确设置编译环境变量。
  • 我认为--mt=CMAKE_MT-NOTFOUND 是问题所在
  • 是否可以混合使用 Ninja 和 cl.exe?这听起来不像是一回事。
  • @sweenish - 绝对有可能。我一直这样做(从本机命令提示符)。

标签: c++ cmake


【解决方案1】:
猜你喜欢
  • 2019-01-26
  • 2015-08-13
  • 1970-01-01
  • 1970-01-01
  • 2021-10-01
  • 2023-04-08
  • 2014-12-10
  • 2021-03-18
  • 1970-01-01
相关资源
最近更新 更多