22.Visual Studio提示由于找不到dll,无法继续执行代码的问题解决

最近在给代码做单元测试,用的是已经编译好的gtest动态库,将包含路径和链接路径都设置好以后,运行程序的时候会提示如下错误

提示找不到dll

 

相关原理

在Windows下,生成dll时,都会生成一个同名的.lib文件,该.lib文件记录包含dll中的函数名和位置,dll包含实际的函数和数据,.exe(执行程序)使用lib文件链接到dll文件。

在应用程序的可执行文件中,存放的不是被调用的函数代码,而是dll中相应函数代码的地址,从而节省了内存资源。dll和lib文件必须随应用程序一起发行,否则应用程序会产生错误

Windows在查找dll时,会按照如下路径来查找

1. 包含EXE文件的目录,

2. 进程的当前工作目录,

3. Windows系统目录,

4. Windows目录,

5. 列在Path环境变量中的一系列目录。

 

问题原因

因为在使用编译好的gtestdll时,上述dll并没有存放在上述五个目录之一,从而导致应用程序无法根据lib文件查找到对应的dll

 

解决办法

最简单的解决办法就是将对应的dll文件VS工程的输出目录下,首先找到VS工程的输出目录,将对应的dll拷贝过去即可

将dll移动到正确的位置后,问题解决

此外,根据上述原理,也可以将该dll放置在除了1中的其他目录下,也可以解决该问题

  • 41
    点赞
  • 75
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
msvcr110.dll 是 Microsoft Visual C++ Runtime Library 的文件,是Windows系统中非常重要的一个组件,通常在编写Windows程序时需要引用它。当你遇到由于不到 msvcr110.dll 无法继续执行代码问题时,可以尝试以下三种解决办法: 1. 重新安装 Visual C++ 库: 首先,你需要确认你的系统中安装了 Visual C++ 库。如果没有,你需要从 Microsoft 官方网站下载并安装适合你的操作系统的 Visual C++ 运行时库。请注意,选择正确的版本非常重要,因为不同版本的库之间可能存在兼容性问题。 2. 从网络上下载 msvcr110.dll 文件: 如果重新安装 Visual C++ 库仍然无法解决问题,你可以尝试从网络上下载 msvcr110.dll 文件。通常,你可以在搜索引擎中输入“msvcr110.dll”并查可用的下载链接。下载完成后,将其放置在系统目录中,通常为系统盘的 Windows 文件夹或程序文件夹中的 Visual Studio 文件夹。 3. 使用 DLL 修复工具: 有一些第三方 DLL 修复工具可以帮助你自动检测和修复缺失的 DLL 文件。这些工具通常会扫描你的系统目录和程序文件夹,并尝试到匹配的 DLL 文件进行替换。你可以尝试使用这些工具来解决 msvcr110.dll 缺失的问题。 请注意,在执行任何操作之前,建议备份你的重要数据和系统设置,以防万一。此外,确保你在进行任何系统更改之前已经关闭了所有正在运行的程序,以避免意外问题
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值