最近在给代码做单元测试,用的是已经编译好的gtest动态库,将包含路径和链接路径都设置好以后,运行程序的时候会提示如下错误
在Windows下,生成dll时,都会生成一个同名的.lib文件,该.lib文件记录包含dll中的函数名和位置,dll包含实际的函数和数据,.exe(执行程序)使用lib文件链接到dll文件。
在应用程序的可执行文件中,存放的不是被调用的函数代码,而是dll中相应函数代码的地址,从而节省了内存资源。dll和lib文件必须随应用程序一起发行,否则应用程序会产生错误。
因为在使用编译好的gtestdll时,上述dll并没有存放在上述五个目录之一,从而导致应用程序无法根据lib文件查找到对应的dll
最简单的解决办法就是将对应的dll文件VS工程的输出目录下,首先找到VS工程的输出目录,将对应的dll拷贝过去即可