我通常使用 C#。在 C# 中,我可以有一个层次结构,它们相互引用。
我想在 VC++ 中做同样的事情,但我不知道怎么做。一般来说,我对 C++ 没有太多经验。
我有:
- 测试项目 1
- TestProject2:我需要在这里使用 TestProject1 中的类。
我尝试添加 TestProject1 作为 TestProject2 的引用:
Right Clikc on the TestProject1-> Properties -> Common Properties -> Framework and References -> Add New Reference -> Selected TestProject2
但这会导致错误,因为 TestProject2 不是作为库构建的。
据我所知,只生成了一个 obj 文件列表。
在 TestProject1 中引用 TestProject2 以便我可以使用它的类的正确方法是什么?
更新:我是如何解决的
我按照 SOReader 说明解决了问题,但我以不同的方式添加了库:
- 首先,我按照 SOReader 的指示更改了 TestProject1 项目类型(右键单击 TestProject1 项目 -> 属性 -> 配置属性 -> 常规 -> 将 配置类型 设置为 静态库 (lib)
- 在 TestProject2 中添加对 TestProject1 的引用 -> 右键单击 TestProject2 项目 -> 属性 -> 通用属性 -> 框架和引用 -> 添加新引用 -> 选择 TestProject1
最佳答案
它不像在 C# 中那么容易。
你必须有 TestProject1
如果您只想将它包含到另一个项目中,则构建为静态库。在此之后,您转到相关项目属性并添加 lib
文件到链接器和标题文件夹以查找标题。
假设Dll
有其包括.h
文件在其根文件夹中(实际上不应该有),您只需在附加包含目录中添加一个条目以指向 Dll 根文件夹所在的位置。
现在你可以写#include <theheaderfile.h>
在主应用程序中的 cpp 文件中引用导出的功能。
以下是 msdn 中可能有帮助的其他几个位置:import/export , static libraries , hpp vs h
关于visual-c++ - 如何在 VC++ 中的另一个测试项目中使用来自一个测试项目的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20981473/