Winodws10 VS2019 Clion CMake 编译 OpenCV rc 系统找不到指定的文件。NMAKE : fatal error U1077

在从源码编译开源库这条路上,怎么这么多坑给我踩?

这次是编译 OpenCV


简单总结

在 Windows10 系统下,使用 VS2019 编译链,在 Clion 编译 OpenCV 时,出现报错,报错的关键信息:

Detecting C compiler ABI info - failed
 rc 系统找不到指定的文件。NMAKE : fatal error U1077

解决方案

指定 CMake 编译的目标平台/架构(platform/architecture),指定方式:

cmake -G "Visual Studio 16 2019" -A Win32

cmake -G "Visual Studio 16 2019" -A x64

cmake -G "Visual Studio 16 2019" -A ARM

cmake -G "Visual Studio 16 2019" -A ARM64

痛苦回顾


来看看咱的报错信息
error


Microsoft Windows [版本 10.0.19043.1320]
(c) Microsoft Corporation。保留所有权利。

C:\Workspace\CLion\opencv_next_test>cd build

C:\Workspace\CLion\opencv_next_test\build>"C:\Software\JetBrains\CLion 2021.1.1\bin\cmake\win\bin\cmake.exe" -DCMAKE_BUILD_TYPE=Debug -DCMAKE_DEPENDS_USE_COMPILER=FALSE  -G "CodeBlocks - NMake Makefiles" ../
-- The C compiler identification is MSVC 19.29.30136.0
-- The CXX compiler identification is MSVC 19.29.30136.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - failed
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe - broken
CMake Error at C:/Software/JetBrains/CLion 2021.1.1/bin/cmake/win/share/cmake-3.20/Modules/CMakeTestCCompiler.cmake:66 (message):
  The C compiler

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

  is not able to compile a simple test program.

  It fails with the following output:

    Change Dir: C:/Workspace/CLion/opencv_next_test/build/CMakeFiles/CMakeTmp

    Run Build Command(s):nmake -f Makefile /nologo cmTC_f9517\fast &&   "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x64\nmake.exe"  -f CMakeFiles\cmTC_f9517.dir\build.make /nologo -L                  CMakeFiles\cmTC_f9517.dir\build
    Building C object CMakeFiles/cmTC_f9517.dir/testCCompiler.c.obj
        "C:\Software\JetBrains\CLion 2021.1.1\bin\cmake\win\bin\cmake.exe" -E cmake_cl_compile_depends --dep-file=CMakeFiles\cmTC_f9517.dir\testCCompiler.c.obj.d --working-dir=C:\Workspace\CLion\opencv_next_test\build\CMakeFiles\CMakeTmp --filter-prefix="" -- C:\PROGRA~2\MICROS~2\2019\COMMUN~1\VC\Tools\MSVC\1429~1.301\bin\Hostx64\x64\cl.exe @C:\Users\ruan\AppData\Local\Temp\nm6CB6.tmp
    Linking C executable cmTC_f9517.exe
        "C:\Software\JetBrains\CLion 2021.1.1\bin\cmake\win\bin\cmake.exe" -E vs_link_exe --intdir=CMakeFiles\cmTC_f9517.dir --rc=rc --mt=CMAKE_MT-NOTFOUND --manifests -- C:\PROGRA~2\MICROS~2\2019\COMMUN~1\VC\Tools\MSVC\1429~1.301\bin\Hostx64\x64\link.exe /nologo @CMakeFiles\cmTC_f9517.dir\objects1.rsp @C:\Users\ruan\AppData\Local\Temp\nm6D92.tmp
    RC Pass 1: command "rc /fo CMakeFiles\cmTC_f9517.dir/manifest.res CMakeFiles\cmTC_f9517.dir/manifest.rc" failed (exit code 0) with the following output:
    系统找不到指定的文件。NMAKE : fatal error U1077: “"C:\Software\JetBrains\CLion 2021.1.1\bin\cmake\win\bin\cmake.exe"”: 返回代码“0xffffffff”
    Stop.
    NMAKE : fatal error U1077: “"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x64\nmake.exe"”: 返回代码“0x2”
    Stop.





  CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
  CMakeLists.txt:2 (project)


-- Configuring incomplete, errors occurred!
See also "C:/Workspace/CLion/opencv_next_test/build/CMakeFiles/CMakeOutput.log".
See also "C:/Workspace/CLion/opencv_next_test/build/CMakeFiles/CMakeError.log".

C:\Workspace\CLion\opencv_next_test\build>

关键是
Detecting C compiler ABI info - failed

rc 系统找不到指定的文件。NMAKE : fatal error U1077


根据jetbrains说法,这不是他们的锅。


无论是在命令行还是在Clion里面都这样,但是好奇的是在 Visual Studio 2019 里面却没事?


然后,确实找不到 rc

C:\Workspace\CLion\opencv_next_test\build>where rc.exe
信息: 用提供的模式无法找到文件。

难道是 VS2019 里面有一些配置好的环境变量?


通过查找网上一堆 rc 和无法确定编译器的问题

  1. Error: The C compiler is not able to compile a simple test program.

  2. rc.exe no longer found in VS 2015 Command Prompt

  3. Windows compilation error: Missing rc.exe


然鹅他们都不起作用,就算能找到rc,也会说找不到某些头文件。


停下来理一下思路,OpenCV编译失败,因为没有成功检测编译器的信息,原因是检测时找不到rc发生了中断。

那会不会是某些编译参数影响了呢?排查了一下,发现用下面这个参数编译就会出问题

cmake -G "CodeBlocks - NMake Makefiles" ../

好,VS2019用的应该是Visual Studio 16 2019,那就改一下呗。


根据 CMake文档,改成

cmake -G "Visual Studio 16 2019"  ../

成功了~

补一张 CLion 设置 CMake 参数的图

在这里插入图片描述


CLion --> File --> Settings --> Build,Execution,Deployment --> CMake --> Release/Debug --> CMake options
添加

-G "Visual Studio 16 2019"
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据提供的引用内容,可以看出这是一个关于使用Visual Studio编译项目时出现的错误。具体来说,错误信息中提到了一些文件路径和错误代码,以及一些错误的原因和解决方法。然而,由于引用内容中的信息不完整,我无法提供具体的解决方案。建议你检查你的项目设置和代码,确保正确配置了MFC和相关的库文件,并且使用了与你的系统兼容的库文件。如果问题仍然存在,你可以尝试在相关的开发者社区或论坛上寻求帮助,以获取更详细的解决方案。 #### 引用[.reference_title] - *1* [Clion运行MFC程序报错:NMAKE : fatal error U1077: “D:\MICROS~1\2019\COMMUN~1\VC\Tools\MSVC\1429~1....](https://blog.csdn.net/qq_42416602/article/details/130776199)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [NMAKE : fatal error U1077:](https://blog.csdn.net/u012332816/article/details/82960274)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [nmake fatal error u1077:path/c1.exe 返回代码0x2解决思路](https://blog.csdn.net/sean4m/article/details/60143222)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值