链接:致命错误LNK1104:无法打开文件'MSVCRTD.lib'

kom*_*ihe 25 c++ visual-c++

我是C++的初学者.__CODE__当我尝试调试Microsoft Visual C++ 2010 Express中的任何项目时,我收到错误.我在Stackoverflow和Google上搜索了我应该做的事情,但找不到答案.我所理解的文件msvcrtd.lib应该在map\Microsoft Visual Studio 10.0\VC\lib中,但该文件不存在.我该怎么办?

arm*_*git 22

转到项目属性,从左侧选择链接器.将其添加到" 其他库目录 ":

"(Your Visual Studio Path)\VC\lib"
Run Code Online (Sandbox Code Playgroud)

例如:

C:\Program Files\Microsoft Visual Studio 10.0\VC\lib
Run Code Online (Sandbox Code Playgroud)


小智 21

对于那些正在努力解决这个问题的可怜人来说,经过一个小时的研究后,我找到了一个适用于我的Visual Studio Enterprise 2017的解决方案:

首先,让我们找到您的库文件所在的位置:

使用Windows资源管理器,转到安装Visual Studio的目录(默认:C:\ Program Files(x86)\ Microsoft Visual Studio)并搜索msvcrtd.lib

我发现我在这里:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.15.26726\lib\onecore\x86
Run Code Online (Sandbox Code Playgroud)

快速修复(仅适用于一个项目):

  1. 右键单击您的项目,单击属性,导航到链接器,将该路径添加到其他库目录 在此输入图像描述

永久修复(适用于所有项目)

  1. 打开一个项目
  2. 导航到视图>属性管理器(它可能在其他Windows下)
  3. 展开所有文件夹并多选所有" Microsoft.cpp.Win32.user "和" Microsoft.cpp.64.user "

在此输入图像描述

  1. 右键单击并转到属性
  2. 导航到VC++目录 在此输入图像描述

  3. 将路径添加到默认库目录

  • +1,有效。但是请注意,对于x86 / x64和调试/发行版,需要添加的路径有所不同。 (2认同)

Mah*_*nGM 11

"项目属性"的某些属性对话框中有一个复选框,显示"从父项或项目默认值继承".确保选中" 包含目录"属性窗口的复选框,当然还有" 附加依赖关系"窗口.

  • 这应该是选择的答案恕我直言 (2认同)

zxj*_*470 8

如果您使用VS2017,请阅读。或者只是忽略这个答案......它可能对其他 VS 版本无效。

不要相信任何告诉你添加 lib 路径的人。

以下是建议:

  • [BEST] 你需要通过安装这些VS_installer(我们大多数人只需要x86/x64下面的版本)
    • VC++ 2017 版本 version_numbers Libs for Spectre [(x86 and x64) | (ARM) | (ARM64)]
    • 用于 [(x86/x64) | 的 Visual C++ ATL | 手臂 | ARM64] 与 Spectre 缓解
    • Visual C++ MFC for [x86/x64 | 手臂 | ARM64] 与 Spectre 缓解
  • [NAIVE] 或禁用Spectre每个解决方案的选项?为什么我们很难全局禁用它)
  • [笑] 或者永远不要使用 VS2017

这是 VisualStudioTeam 的错,微软有罪。

为什么?

你不能做一个全局配置来禁用/QSpectre, 和 IDK 什么时候以及为什么 VS2017 在一天内启用它。所以最好的方法是安装Spectre?啊哈?

  • 明白了。这是 WDK 的错。https://developercommunity.visualstudio.com/content/problem/348985/installing-wdk-1809-enabled-spectre-mitigation-fla.html#reply-398390 (2认同)

小智 8

使用VS2017编译示例应用程序时遇到了这个问题,希望对您有所帮助

在此处输入图片说明


Mad*_*hur 6

对于 VS 2019,默认情况下启用 Spectre Mitigation。因此,解决此问题的正确方法是为 Spectre 安装 VC++ Libs。

但是,为了快速解决问题,您可以禁用 Spectre Mitigation

Project Properties -> C/C++ -> Code Generation -> Spectre Mitigation -> Disabled

在此处输入图片说明

https://devblogs.microsoft.com/cppblog/spectre-mitigations-in-msvc/


小智 5

我遇到了这个问题。该文件存在于我的机器上,位于搜索路径中。我很沮丧,因为错误结果确实无济于事。就我而言,我已启用Spectre缓解功能,但未下载Spectre的运行时库。一旦完成下载,一切就对了。我还必须在CI构建服务器上安装此库,因为默认情况下这些库未随VS一起安装。