【问题标题】:1>Project : error PRJ0003 : Error spawning 'rc.exe'1>项目:错误 PRJ0003:错误生成“rc.exe”
【发布时间】:2011-02-11 22:10:49
【问题描述】:

1>Project : error PRJ0003 : Error spawning 'rc.exe'.. 这是我尝试运行这个读写文件的小练习程序时遇到的错误,由于我的原因我不能这样做能够正确打开文件。我使用 microsoft visual c++ 2008,并且我也使用文件路径尝试打开文件,但我不能有人帮忙吗?

#include <iostream>
#include <fstream>
using namespace std;

int main ()
{
  ifstream infile;  
  ofstream myfile;
  int num;
  infile.open("example.txt");
    if(infile.fail())
    {
        cout << "error" << endl;
    }
  myfile.open ("example.txt");
    if(infile.fail())
        {
            cout << "error" << endl;
        }
  while(!infile.eof())
      {
          example >> num;
      }
  while(!myfile.eof())
      {
          example << num;
      }
  infile.close();
  myfile.close();
  return 0;
}

【问题讨论】:

  • 嗨,欢迎来到 SO。您可以通过突出显示并按 ctrl-k 来正确格式化代码。
  • 非常感谢我不知道
  • 看起来你的错误不是在运行程序,而是在编译它。
  • 查看你的源码和生成rc.exe的错误,两者不匹配,你还想做什么?你有一个make文件,它在做什么? rc.exe 是资源编译器,我在代码中看不到任何与资源相关的内容。

标签: c++ visual-c++ fatal-error


【解决方案1】:

我也有这种情况。

通过阅读 Elmue 的答案(本页其他位置),我发现这是由于我安装了 VS2008 + VS2010 + SDK 然后卸载所有文件夹并手动删除一些文件夹造成的。在非标准文件夹中重新安装 VS2008 和 SDK 后,RC.EXE 文件根本不存在,安装过程中出现了一些混淆,其中一些注册表项指向 SDK 默认文件夹(而不是我使用的非标准文件夹)。更正注册表项不起作用。在运行 SDK 的 Repair 安装时,它只是“更正”了条目以再次指向错误的方向,但 RC.EXE 仍然没有安装。

最后我不得不咬住苦苹果:卸载所有东西并在他们的标准文件夹中重新安装 SDK + VS2008。然后就成功了!

【讨论】:

    【解决方案2】:

    注册表和 Visual Studio 设置中都没有可做的事情! 你会发现这个问题有很多误导和错误的答案!

    可以在下面的链接中找到该问题的详细说明。 丢失的文件也可以在那里下载。

    http://netcult.ch/elmue/Error_spawning_rc.exe.htm

    【讨论】:

      【解决方案3】:

      我意识到这是旧的,但我通过在安装 Windows SDK 时检查“工具”选项修复了相同的错误。这是默认选中的,假设将使用 Visual Studio 的工具,我已将其删除。

      (使用 Windows SDK 7.1)

      【讨论】:

      • 是的,显然使用 Visual Studio 2008 (msvc-9.0),它们允许您安装 C/C++ 编译器,而无需实际构建所需的 win32 工具。
      【解决方案4】:

      也许您的 rc.exe 在此路径中丢失:

      c:\program files\microsoft sdks\windows\v6.0a\bin\rc.exe
      

      如果这是您的问题,您可以从您朋友的计算机上复制此应用程序。呵呵,..

      【讨论】:

        【解决方案5】:

        臭名昭著的原因:Error spawning 'rc.exe'

        • 您新安装了 Visual Studio 2008 (VS2008)
        • 然后尽职尽责地使用 Service Pack 1 (SP1) 修补
        • 发现VS环境变量搞砸了,比如$(WindowsSdkDirs)。

        当服务包没有正确告诉注册表在哪里可以找到安装目录时,就会发生这种情况。要解决这个问题:

        • 关闭 Visual Studio 2008
        • 开始 > 运行 > 注册表编辑器
        • 导航到 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows
        • 添加名为 CurrentInstallFolder 的新字符串值(如果还没有的话)
        • 为该键指定值C:\Program Files\Microsoft SDKs\Windows\v6.0A\(或安装到的任何位置)

        当你重启VS2008,你应该可以正常编译你的程序了。

        【讨论】:

          【解决方案6】:

          确保“可执行文件”目录之一(可通过工具->选项->VC++ 目录编辑)包含 RC.exe 和 RcDll.Dll。

          所需的 RC.exe 很可能放在“C:\Program Files\Microsoft SDKs\Windows\XXX\Bin”中,其中 XXX 是不同的版本号。

          如果特定版本的 Microsoft SDK 不包含 RC.exe,您可以从 Microsoft 下载最新版本并将“可执行文件”直接指向新目录,尽量不要使用 $(WindowsSdkDir) 宏,因为它可能仍指向旧的 sdk 目录。

          【讨论】:

            【解决方案7】:

            您的 Visual Studio 设置有问题,它在查找和运行 rc.exe 时应该不会有任何问题。首先检查文件是否存在。它应该位于 c:\program files\microsoft sdks\windows\v6.0a\bin\rc.exe。

            接下来要检查的是路径是否设置正确。工具 + 选项、项目和解决方案、C++ 目录。右上角:显示=可执行文件的目录。验证 $(WindowsSdkDirs)\bin 是否在此处列出。尝试显式添加文件夹名称。如果后一步有效,那么您的注册表就搞砸了。有点绝望,重新运行 Setup.exe 并选择修复。

            【讨论】:

            • 我没有看到这个文件 c:\program files\microsoft sdks\windows\v6.0a\bin\rc.exe。并且没有打开文件,因为它说我需要声明文件名的示例。我应该重新安装 Visual C++
            • 不知道“声明示例”是什么意思。但看不到文件是问题的根源。是的,重新安装。
            猜你喜欢
            • 1970-01-01
            • 2013-09-12
            • 2015-05-10
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2016-01-02
            相关资源
            最近更新 更多