Visual c++ 如何在VC+中的另一个测试项目中使用来自测试项目的类+;?

Visual c++ 如何在VC+中的另一个测试项目中使用来自测试项目的类+;?,visual-c++,testing,visual-studio-2012,Visual C++,Testing,Visual Studio 2012,我通常和C#一起工作。在C#中,我可以有一个层次结构,它们相互引用 我正试图用VC++做同样的事情,但我不知道怎么做。一般来说,我对C++没有多少经验。 我有: TestProject1 TestProject2:我需要在这里使用TestProject1中的类 我尝试添加TestProject1作为TestProject2的参考: 右键点击TestProject1->Properties->Common Properties->Framework and References->Add Ne

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

我正试图用VC++做同样的事情,但我不知道怎么做。一般来说,我对C++没有多少经验。 我有:

  • TestProject1
  • TestProject2:我需要在这里使用TestProject1中的类
我尝试添加TestProject1作为TestProject2的参考:

右键点击TestProject1->Properties->Common Properties->Framework and References->Add New Reference->Selected TestProject2

但这会导致一个错误,因为TestProject2不是作为库构建的

据我所见,只生成了obj文件列表

在TestProject1中引用TestProject2以便使用其类的正确方法是什么


更新:我是如何解决的

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

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

  • 这不像C#中那么容易

    如果您只想将其包含到另一个项目中,则必须具有
    TestProject1
    build as static library。在此之后,您可以转到从属项目属性,并将
    lib
    文件添加到链接器和标题文件夹中以查找标题

    假设
    Dll
    的根文件夹中有include
    .h
    文件(实际上不应该有),只需向其他include目录添加一个条目,以指向Dll根文件夹所在的位置

    现在,您可以在主应用程序的cpp文件中写入
    #include
    ,以引用导出的功能


    以下是msdn中其他几个可能有用的位置:,

    因此,您不能简单地使用生成测试项目时生成的obj文件?这很不方便,有没有简单的方法告诉测试项目以静态库的形式构建?或者我需要创建新的静态库项目?@Dzyann AFAIR您只需更改输出类型即可在项目的属性上,如在第一个屏幕截图中所示。@ Dzynn在组件更新方面更方便的是使用DLL,但是在C++中这样做确实是痛苦的。导入/导出MS编译器特定的关键字在这里得到帮助,但是它仍然不是那么好和容易,因为它在C语言或DelpSyRy中,在这个浏览器中的屏幕上。镜头没有显示出某种原因。现在我可以在我的手机上看到它们。谢谢!是的,这是一个耻辱,我认为微软已经实现了类似于C++的类似的东西。也许将来。