【问题标题】:MS C++ 2010 and mspdb100.dllMS C++ 2010 和 mspdb100.dll
【发布时间】:2011-02-28 17:44:56
【问题描述】:

Microsoft 的 C++ 编译器和链接器似乎与 mspdb100.dll 有着奇怪的关系。当从 IDE 运行时,编译器和链接器当然可以正常工作。从命令行运行任何一个时,都会出现错误。

没问题,我找到了 DLL 并将其复制到目录中。现在编译器工作正常,但链接器死了。

我可以通过将“%VS10%\Common7\IDE”添加到我的 PATH 来解决问题,但由于各种原因(性能、系统纯度、OCD 等),我不想这样做。为什么这个设置如此棘手,我还能做些什么来解决它?

【问题讨论】:

  • Ctrl+c 对话框,所以在谷歌搜索时可以找到这个条目:--------------- cl.exe - 无法找到组件 --------------- 由于找不到 mspdb100.dll,此应用程序无法启动。重新安装应用程序可能会解决此问题。 - - - - - - - - - - - - - - 好的 - - - - - - - - - - - -----

标签: visual-studio visual-studio-2010 visual-c++ dependencies dll


【解决方案1】:

尝试在您当前的 shell 中运行path\to\VC\bin\vcvars32.bat首先。这应确保您的命令行设置与 IDE 设置匹配。

这不是永久性修复——每次启动新 shell 时都需要这样做。

您可能还可以找到某种方法将 .bat 中的所有内容永久添加到环境变量中,但是....就像您问的那样,为什么 MS 安装还没有这样做?

【讨论】:

  • 批处理文件告诉您环境变量 VS100COMNTOOLS 的定义为空白(或没有定义)。这是批处理文件的外部。有没有安装VS2010?
  • 另一份关于 VS100COMNTOOLS 未定义的报告(不同的上下文)stackoverflow.com/questions/4045780/…
【解决方案2】:

将 Microsoft Visual Studio 10.0\Common7\IDE 添加到您的路径中,此问题将不再存在。您无需每次都运行这个愚蠢的批处理文件即可构建。

【讨论】:

  • 从原始问题“我可以通过将“%VS10%\Common7\IDE”添加到我的 PATH 来解决问题,但是由于各种原因 [...],我不想这样做那个。”
  • 在我的构建脚本中,我刚刚添加了一行:set "PATH=%PATH%;%VS100COMNTOOLS%\..\IDE"
  • 迈克尔,因为这是解决问题的唯一方法,所以它是唯一真正的答案。 vcvars32.bat 文件只是为您执行此操作。
【解决方案3】:

我在安装 Microsoft Visual Studio 2010 Express 时注意到,在开始菜单的“Microsoft Visual Studio 2010 Express”文件夹下,有一个指向“Visual Studio 命令提示符 (2010)”的链接,它设置了所有必要的打开时的环境变量。这样您就不必编辑 PATH 变量。

此快捷方式运行以下内容:

%comspec% /k ""C:\Program Files\Microsoft Visual Studio 10.0\VC\vcvarsall.bat"" x86

如果使用快捷方式不方便,也许您可​​以通过研究这个 .bat 文件的作用来学习一些有用的东西?

【讨论】:

    【解决方案4】:

    我遇到了同样的错误,这是因为我们在 x64 系统上安装了 vs2010 x86 版本...

    打开两个文件夹:

    C:\Windows\Microsoft.NET\Framework\v4.0.30319

    C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin

    你会找到两个cvtres.exe。右键单击,选择属性,然后选择详细信息。删除旧版本,cmake 就可以正常工作了。 希望对您有所帮助。

    感谢“zhoudongao”@http://bbs.csdn.net/topics/390121452?page=1#post-394768226

    【讨论】:

      【解决方案5】:

      我知道这有点过时了,但如果有人正在寻找一种让编译器从命令行运行的方法;这是我为使其运行所做的工作。

      我正在使用 Win7 32 位和 Visual Studio 2010。我在 C:\Windows 中创建了一个小批处理文件。以管理员身份在 C:\Windows 中打开 cmd 提示符,然后键入以下内容:

      copy con cl.bat
      
      @"C:\Program Files\Microsoft Visual Studio 10.0\VC\bin\vcvars32" %1 %2 %3 %4 %5 %6
      @"C:\Program Files\Microsoft Visual Studio 10.0\VC\bin\cl" %1 %2 %3 %4 %5 %6
      

      然后按 f6 并再次回车。

      显然,您将使用的路径是安装 Visual Studio 的安装路径。

      您现在可以从 Windows 中的任何位置或目录获得有效的命令行编译器。要对此进行测试,请转到桌面并以管理员身份打开 cmd 提示符;我更喜欢使用 Ctrl+Shift 并右键单击,然后在此处选择打开命令提示符。 在命令提示符下键入“cl”(不带引号)并按 Enter。您将看到一条消息“设置环境以使用 Microsoft Visual Studio 2010 x86 工具”

      键入“cl”并再次按回车键,您将获得编译器信息。你已经准备好编译了。

      享受吧!

      【讨论】:

        【解决方案6】:

        也许它会帮助某人......

        我通过添加解决了这个问题

        PATH += %PATH_TO_VS_IN_YOUR_SYSTEM%/Common7/IDE;
        

        nvcc.profile

        当然,%PATH_TO_VS_IN_YOUR_SYSTEM% 是您系统中 Visual Studio 的实际路径。

        【讨论】:

          【解决方案7】:

          旧的,但可能仍然有效:

          对我来说,“C:\Windows\System32”不知何故从 PATH 变量中丢失了。

          将缺少的文件夹添加到路径解决了这个错误。另见VS2010 command prompt gives error : Cannot determine the location of the VS Common Tools folder

          【讨论】:

            【解决方案8】:

            如果您尝试直接从 windows cmd.exe 运行工具,那么您需要通过运行将为您设置环境的 vcvars32.bat 文件来设置环境。相反,您可以运行 Visual Studio 命令提示符,它将自动运行 vcvars32.bat。如果你还有这个问题,那肯定是著名的路径变量问题。

            确保环境中的 "path" 变量添加了 "c:\windows\system32\" 值,因为 .bat 文件需要它来配置 VC 工具。

            这个问题和类似问题通常是因为在机器上安装了许多开发平台,这可能会改变路径变量。

            检查这个.. https://schrievkrom.wordpress.com/2011/01/25/error-cannot-determine-the-location-of-the-vs-common-tools-folder/

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2011-04-03
              • 2013-06-15
              • 2013-03-22
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多