【发布时间】:2008-11-04 10:55:18
【问题描述】:
情况如下:
我有一个带有两个项目的 VS2005 解决方案:MyDll (DLL)、MyDllUnitTest (console EXE)。
在 MyDll 中,我有一个名为 MyClass 的类,它位于 DLL 内部,不应导出。我想在 MyDllUnitTest 中对其进行测试,所以我添加了一个名为 MyClassTest 的测试套件类,我在其中创建 MyClass 的实例并对其进行测试。
我的问题:如何将通过构建 MyDll 创建的 MyClass 的目标文件链接到 MyDllUnitTest EXE?我不想在 MyDllUnitTest 中构建 MyClass,也不想导出该类。
我尝试对两个项目使用相同的中间目录(因此目标文件位于同一目录中)并使用 VS2005 的引用功能(右键单击项目 --> 引用 --> 添加新参考...),但它不起作用 - 我仍然收到链接错误(LNK2001)。
编辑:我不想在两个项目中拥有相同的源文件 - 考虑到我有很多 MyClass/MyClassTest,这意味着我必须将每个 MyClass 复制到不同的项目中. 我知道可以在两个项目中使用相同的目标文件,我以前看过但忘记了。
编辑:我决定将文件放在两个项目中,因此它们被编译两次。事实证明,“参考”功能会自动工作 - 但仅适用于静态库项目。
【问题讨论】:
标签: c++ visual-studio-2005 visual-c++-2005