如何在VC ++中的另一个测试项目中使用Test项目中的类?

时间:2014-01-07 20:42:13

标签: visual-c++ testing visual-studio-2012

我通常使用C#。在C#中我可以有一个层次结构,它们互相引用。

我试图在VC ++中做同样的事,但我不知道如何。我一般都没有很多C ++经验。

我有:

  • TestProject1
  • TestProject2 :我需要在这里使用TestProject1中的类。

我尝试添加TestProject1作为TestProject2的参考:

  

TestProject1上的右侧Clikc->属性 - >共同属性 - >框架和参考 - >添加新参考 - >选择TestProject2

但是这会导致错误,因为TestProject2不是作为lib构建的。

从我所看到的,只生成一个obj文件列表。

在TestProject1中引用TestProject2的正确方法是什么,以便我可以使用它的类?


更新:我是如何解决的

我按照SOReader说明解决了这些问题,但我以不同的方式添加了lib:

  1. 首先,我更改了TestProject1项目类型,如SOReader所示(右键单击TestProject1项目 - >属性 - >配置属性 - >常规 - >将配置类型设置为静态library(lib)
  2. 在TestProject2中添加对TestProject1的引用 - >右键单击TestProject2项目 - >属性 - >共同属性 - >框架和参考 - >添加新参考 - >选择TestProject1

1 个答案:

答案 0 :(得分:1)

这并不像在C#中那么容易。

如果要将其简单地包含在另一个项目中,则必须将TestProject1构建为静态库。在此之后,您将转到依赖项目属性并将lib文件添加到链接器和头文件夹以进行标头查找。

enter image description here

enter image description here

enter image description here

假设Dll的根文件夹中包含.h文件(实际上不应该有),您只需在Additional Include Directories中添加一个条目,指向Dll根文件夹所在的位置。

现在您可以在主应用程序中的cpp文件中编写#include <theheaderfile.h>以引用导出的功能。

以下是msdn中可能有用的其他几个位置:import/exportstatic librarieshpp vs h