我在工作中继承了遗留代码项目,并且在我做出一些更改之前,我想在其中添加一些单元测试。我正在使用VS2010开发Visual C ++项目。我一直在玩Google Test作为单元测试框架。
我已经能够成功地将单元测试项目添加到现有解决方案中,并且我编写了一个基本测试来验证它是否会运行。我现有的解决方案构建了一个DLL,但问题发生的原因是它隐式链接到第三方DLL。该DLL需要另一个第三方DLL,依此类推。我可以构建,但是当我运行时,我收到以下错误:
"程序无法启动,因为您的计算机缺少thirdParty.dll。尝试重新安装该程序以解决此问题。"
如果我将所有依赖的DLL放入我的单元测试可执行文件所在的文件夹中,一切正常,但我想知道是否有任何方法可以在没有所有第三方DLL的情况下运行可执行文件。我即将改变的代码实际上并没有调用各种第三方DLL使用的任何函数,我想将调用包装起来以便我可以模拟他们但现在似乎我需要它们。
如果我没有清楚地解释任何事情,我会提前道歉。我是C ++和Visual Studio的新手。
答案 0 :(得分:1)
我有同样的问题,并通过告诉链接在需要时加载这些DLL来解决它。
打开项目属性 - > Linker->输入 - >延迟加载Dll
指定除非被调用,否则不需要加载的DLL。