Google 测试找不到经过测试的 dll

时间:2021-05-28 12:05:13

标签: c++ visual-studio testing dll googletest

我已将 google 测试项目添加到我的解决方案中,如 MS manual 中所述。我添加了对我要测试的项目的创建测试项目阶段引用。我的项目是一个dll。在测试项目引用中,我可以看到原始 dll 的正确路径。测试项目 exe 内置于与我要测试的项目的 dll 不同的文件夹中。 当我运行我的测试项目时,它说找不到我的 dll。 显然,如果我将测试 exe 构建到同一个文件夹中,一切都会正常进行,但是有没有其他方法可以让我的测试应用程序正确加载 dll?

1 个答案:

答案 0 :(得分:0)

我会将被测代码静态链接到测试应用程序中。这意味着您在测试期间不使用 DLL,因此不需要它。

如果您确实想使用 DLL,您可以:

  • 使用 SetDllDirectory() 将目录添加到 DLL 搜索路径。有关详细信息,请参阅 Search Order for Desktop Applications
  • 使用 LoadLibrary() 动态加载 DLL 并指定 DLL 的确切路径。您需要使用 GetProcAddress() 来访问和调用 DLL 中的函数。
相关问题