22.Visual Studio提示由于找不到dll,无法继续执行代码的问题解决 您所在的位置:网站首页 由于找不到iertutil无法继续执行代码 22.Visual Studio提示由于找不到dll,无法继续执行代码的问题解决

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

2023-10-10 00:19| 来源: 网络整理| 查看: 265

最近在给代码做单元测试,用的是已经编译好的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中的其他目录下,也可以解决该问题



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有