当前位置: 首页 > 知识库问答 >
问题:

rc.exe在VS 2015命令提示符中找不到

尉迟招
2023-03-14

我刚刚安装了Windows 10创作者更新(版本10.0.15063)。

安装了多个版本的Visual Studio(2012, 2013, 2015和2017)。我几周前才安装了VS 2017。

CMake(版本3.8.1)在“VS2015 x64本机命令提示符”中运行时不再找到C/C编译器(在VS 2017命令提示符中运行时它确实正常工作)。

CMakeLists.txt的内容:

project (test)
add_executable (test test.cpp)

test.cpp的内容无关紧要。)

CMake调用,在VS2015 x64本机命令提示符中:

> mkdir build
> cd build
> cmake -G "Visual Studio 14 2015 Win64" ..

CMake输出:

-- The C compiler identification is unknown
-- The CXX compiler identification is unknown
CMake Error at CMakeLists.txt:1 (project):
  No CMAKE_C_COMPILER could be found.

CMake Error at CMakeLists.txt:1 (project):
  No CMAKE_CXX_COMPILER could be found.

-- Configuring incomplete, errors occurred!
See also "D:/dev/cmaketest/build/CMakeFiles/CMakeOutput.log".
See also "D:/dev/cmaketest/build/CMakeFiles/CMakeError.log".

查看CMakeFiles/CMakeError时,故障原因很清楚。日志:

ClCompile:
  C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64\CL.exe /c /nologo /W0 /WX- /Od /D _MBCS /Gm- /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /Fo"Debug\\" /Fd"Debug\vc140.pdb" /Gd /TC /errorReport:queue CMakeCCompilerId.c
  CMakeCCompilerId.c
Link:
  C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64\link.exe /ERRORREPORT:QUEUE /OUT:".\CompilerIdC.exe" /INCREMENTAL:NO /NOLOGO kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /MANIFEST /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /manifest:embed /PDB:".\CompilerIdC.pdb" /SUBSYSTEM:CONSOLE /TLBID:1 /DYNAMICBASE /NXCOMPAT /IMPLIB:".\CompilerIdC.lib" /MACHINE:X64 Debug\CMakeCCompilerId.obj
LINK : fatal error LNK1158: cannot run 'rc.exe' [D:\dev\cmaketest\build\CMakeFiles\3.8.1\CompilerIdC\CompilerIdC.vcxproj]

rc.exe(资源编译器)未找到。事实上,在同一个VS 2015命令提示符中:

> where rc.exe
INFO: Could not find files for the given pattern(s).

在VS 2013命令提示符中可以找到:

> where rc.exe
C:\Program Files (x86)\Windows Kits\8.1\bin\x64\rc.exe
C:\Program Files (x86)\Windows Kits\8.1\bin\x86\rc.exe

和VS 2017命令提示符:

> where rc.exe
C:\Program Files (x86)\Windows Kits\10\bin\10.0.15063.0\x64\rc.exe

在各种VS命令提示中检查路径环境变量的内容:

>

  • 在VS 2013命令提示符内,路径包含

    C:\Program Files (x86)\Windows Kits\8.1\bin\x64
    

    在VS 2017命令提示符中,PATH包含

    C:\Program Files (x86)\Windows Kits\10\bin\x64
    C:\Program Files (x86)\Windows Kits\10\bin\10.0.15063.0\x64
    

    但在VS 2015命令提示符中,路径仅包含

    C:\Program Files (x86)\Windows Kits\10\bin\x64
    

    其中不包含rc.exe

    >

  • 这是已知问题还是特定于我的系统?

    Windows 10创建者可以更新哪些可能会触发此问题的系统(可能与Windows SDK相关)中的安装、卸载或更改?

    解决这个问题的干净方法是什么?

    编辑:已安装的VS 2017组件:

  • 共有3个答案

    满和安
    2023-03-14

    Windows 10 15063.608(Windows SDK 10.0.15063.0)遇到相同问题。我的解决方案是为Windows 10 kit二进制文件x64和x86文件夹创建硬链接,如下所示(使用具有管理员权限的命令提示符):

    mklink /J "C:\Program Files (x86)\Windows Kits\10\bin\x86" "C:\Program Files (x86)\Windows Kits\10\bin\10.0.15063.0\x86"
    
    mklink /J "C:\Program Files (x86)\Windows Kits\10\bin\x64" "C:\Program Files (x86)\Windows Kits\10\bin\10.0.15063.0\x64"
    

    (在运行这些命令之前,只需重命名现有的Windows Kits\10\bin\x64和Windows Kits\10\bin\x86文件夹-看起来它们没有被使用。

    P、 S.mklink是一个命令,在PowerShell下不可用

    戚阳曜
    2023-03-14

    这绝对不仅仅是你。我昨天安装了VS2017,这样做似乎在我这边产生了同样的问题。我没有一个好的解决方案(这应该作为一个错误报告给微软),但我确实有一个黑客解决方法。

    我能够复制rc。exe和rc。dll发件人

    C:\Program Files (x86)\Windows Kits\10\bin\10.0.15063.0\x64 
    to
    C:\Program Files (x86)\Windows Kits\10\bin\x86
    

    这为我解决了问题。我的直觉是,这是一个注册表项被覆盖,但我还没有深入到足以确定。

    公德明
    2023-03-14

    花了一些时间在三台安装了Win10 Creators Edition和VS2010、VS2013、VS2015和VS2017的机器上研究这个问题,它在两台机器上工作,在第三台机器上出现故障。所有都有VS2015更新3,并且都应该使用相同的选项安装。

    运行以下批处理文件

    C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64\vcvars64.bat
    

    应为VS2015 x64环境设置正确的环境。这应该添加

    C:\Program Files (x86)\Windows Kits\10\bin\x64
    

    到PATH。这是rc.exe应该在的地方。然而,在我故障的机器上rc.exe从这里丢失了,但它确实存在于

    C:\Program Files (x86)\Windows Kits\10\bin\10.0.15063.0\x64
    

    我回去觉得这是一个设置问题,我重新运行了VS2015 Update 3设置并告诉它添加

    Windows和Web开发-

    这导致了rc。exe和要显示在中的相关文件

    C:\Program Files (x86)\Windows Kits\10\bin\x64
    

    运行rc-v on

    C:\Program Files (x86)\Windows Kits\10\bin\10.0.15063.0\x64\rc.exe
    

    C:\Program Files (x86)\Windows Kits\10\bin\x64\rc.exe
    

    给出了相同的版本号10.0.10011.16384

    不知道为什么是rc。原始安装中缺少exe,但重新运行安装并添加其他SDK为我修复了它。看起来像

    C:\Program Files (x86)\Windows Kits\10\bin\x64\rc.exe
    

    应该是默认rc.exe但它不是由以前的安装设置。

     类似资料:
    • 我最近在Windows 10机器上下载了截至2020年3月的python(3.8),并检查了我的Pip版本。我使用了pip(版本)和其他几个命令,但它说“pip不能被识别为内部或外部命令、可操作的程序或批处理文件。”我去了Windows中的简单搜索栏,找到了安装在我电脑上的pip。那么我需要使用什么命令来使用pip呢?还是我还遗漏了什么?

    • 我试图用命令提示符用java编译一个程序。我的程序在eclipse中运行良好,但是,当我试图在命令提示符中编译它时,我收到了一条错误消息。任何帮助和指导都将不胜感激。 triton.java:20:错误:不能dind符号循环Loop=new Loop(); 符号:类循环位置:类Triton trion.java:20:错误:找不到符号循环循环=新循环();sybmol:类循环位置:类Triton

    • 我从https://www.oracle.com/java/technologies/javase-jdk14-downloads.html安装了。 我将添加到我的和变量中。在此之后,我启动一个新的命令提示符并键入,我看到下面的列表,但是我没有看到,为什么不呢? java版本“1.8.0_251”java(TM)SE运行时环境(build 1.8.0_251-B08) java HotSpot(T

    • 好吧,我是新来的Java,并试图从命令提示符运行一个java程序(因为Sublime编译和运行它的小东西,但不允许用户输入和东西)。 我将命令提示符设置为我有我的文件的文件夹,称为Learner.java. 我在环境变量中为JDK bin设置了一个路径,并创建了一个JAVA_HOME变量,其中包含JDK bin的值(其他一些帖子建议)。 在我讨论这个问题之前,这是我的代码: 如你所见,这是一个以“

    • “错误:找不到或加载主类”。 我不知道我做错了什么。我有jre 1.8.0_45和jdk 1.7.0_71。

    • 我正在尝试使用命令提示符构建和生成APK。当我使用命令“cordova build android”构建项目时,我遇到了以下问题: ANDROID_HOME=C:\Phonegap\sdk JAVA_HOME=C:\Program Files\JAVA\jdk1。8.0_151为此版本启动新的Gradle守护程序(后续版本将更快)。增量java编译是一个酝酿中的特性。 失败:生成失败,出现异常。