在VS2019中CMake生成出现报错

简介: 在VS2019中CMake生成出现报错

问题

严重性代码说明项目文件行禁止显示状态
错误    CMake Error at C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.18/Modules/CMakeTestCCompiler.cmake:66 (message):
  The C compiler
    "C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29333/bin/Hostx86/x64/cl.exe"
  is not able to compile a simple test program.
  It fails with the following output:
    Change Dir: E:/Open_souce_project/cmake-examples-master/01-basic/B-hello-headers/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_1c316 && [1/2] Building C object CMakeFiles\cmTC_1c316.dir\testCCompiler.c.obj
    [2/2] Linking C executable cmTC_1c316.exe
    FAILED: cmTC_1c316.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_1c316.dir --rc=rc --mt=CMAKE_MT-NOTFOUND --manifests  -- C:\PROGRA~2\MICROS~2\2019\COMMUN~1\VC\Tools\MSVC\1428~1.293\bin\Hostx86\x64\link.exe /nologo CMakeFiles\cmTC_1c316.dir\testCCompiler.c.obj  /out:cmTC_1c316.exe /implib:cmTC_1c316.lib /pdb:cmTC_1c316.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_1c316.dir/manifest.res CMakeFiles\cmTC_1c316.dir/manifest.rc" failed (exit code 0) with the following output:
    系统找不到指定的文件。
    ninja: build stopped: subcommand failed.
  CMake will not be able to correctly generate this project.    C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.18/Modules/CMakeTestCCompiler.cmake  66  

解决办法一:

在vs中,项目->CMake设置

最下面有个显示高级

将Ninja改成Unix Makefiles就可以避开这个问题了。

一般改成unix Makefiles就能直接用了。

解决办法二:

如果执意要选用Ninja编译,那么可能会比较麻烦,下面是一个比较详细的链接。

另外一种处理方式

相关文章
|
算法 数据可视化
Halcon边缘检测和线条检测(1),文章含自适应/动态二值化等算子
Halcon边缘检测和线条检测(1),文章含自适应/动态二值化等算子
2416 0
|
Linux iOS开发 开发者
Qt问题(二):无法定位程序输入点于动态链接库
动态链接库(Dynamic Link Library,简称DLL)是一种可执行文件格式,常见于Windows操作系统中,而在Linux和macOS等其他操作系统中,相似的概念通常被称为共享库(Shared Library)。动态链接库允许程序在运行时加载所需的代码和数据,而不是在编译时静态链接到应用程序中。这种方式带来了几个重要的优点:
2692 3
解决方案-CMake error: error in configuration process, project files may be invalid(Windows&VS可参考)
解决方案-CMake error: error in configuration process, project files may be invalid(Windows&VS可参考)
5111 0
Visual Studio2019安装闪退(不弹出下载界面)等问题解决方法
Visual Studio2019安装闪退(不弹出下载界面)等问题解决方法
2110 0
Visual Studio2019安装闪退(不弹出下载界面)等问题解决方法
|
IDE 开发工具 C++
qt creator + vs2019编译记录
本文记录了作者在使用qt creator和vs2019编译项目时遇到的困难和解决方案,包括编译环境设置、qt creator编译脚本的成功案例、不带Ninja的编译脚本问题、错误示范以及相关参考链接。
914 0
qt creator + vs2019编译记录
自己动手写QT多线程demo
本文是作者关于如何编写Qt多线程demo的教程,介绍了如何实现多线程功能,包括可暂停和继续的功能。文章提供了部分示例代码,展示了如何创建线程类、启动和管理线程,以及线程间的通信。同时,还提供了相关参考资料和免费下载链接。
463 0
QT6使用CMamke将qml打包成dll
QT6使用CMamke将qml打包成dll
825 0
《QT从基础到进阶·二十一》QGraphicsView、QGraphicsScene和QGraphicsItem坐标关系和应用
《QT从基础到进阶·二十一》QGraphicsView、QGraphicsScene和QGraphicsItem坐标关系和应用
3342 1
《QT从基础到进阶·二十一》QGraphicsView、QGraphicsScene和QGraphicsItem坐标关系和应用
|
缓存 Ubuntu 编译器
CMake 常见问题及解决办法
CMake 常见问题及解决办法
8339 0
|
编译器 C语言 C++
CMake基础(9)使用Clang编译
CMake基础(9)使用Clang编译
2189 0

热门文章

最新文章