Visual c++ visualc&x2B+;链接从引用项目生成的OBJ

Visual c++ visualc&x2B+;链接从引用项目生成的OBJ,visual-c++,linker,Visual C++,Linker,我有多个原生C++项目,其中一个是dll项目,我想测试它 问题是生成的.lib文件只包含dll公共接口的定义,但我想测试项目内部 既然引用项目不起作用(它只对静态库起作用),有没有办法直接在我的测试项目中添加生成的OBJ 我还知道我可以在引用的项目中包含所有源代码文件。但是考虑到被引用的项目可能会发生变化,有没有办法做到这一点呢。我想要一个方法,不强迫我手动管理每个文件 我做了一些研究,发现了一些类似于这个问题的答案: 但是因为我有很多小班,所以所有的课程都有点乏味 我发现我可以在构建事件菜单中

我有多个原生C++项目,其中一个是dll项目,我想测试它

问题是生成的.lib文件只包含dll公共接口的定义,但我想测试项目内部

既然引用项目不起作用(它只对静态库起作用),有没有办法直接在我的测试项目中添加生成的OBJ

我还知道我可以在引用的项目中包含所有源代码文件。但是考虑到被引用的项目可能会发生变化,有没有办法做到这一点呢。我想要一个方法,不强迫我手动管理每个文件

我做了一些研究,发现了一些类似于这个问题的答案:
但是因为我有很多小班,所以所有的课程都有点乏味

我发现我可以在构建事件菜单中设置预链接事件

这允许我使用以下命令:

lib -out:"../Debug/tempAllDllObjects.lib" "../MyDLLProject/Debug/*.obj"
现在,即使我的项目是DLL项目,我也有一个额外的.lib文件,其中包含项目中的所有对象。我所要做的就是引用新创建的lib文件。通过这种方式,我可以链接DLL项目中的所有对象,即使它们不在公共接口中


需要注意的是,该命令也可以在DLL项目上设置为后期生成事件,这将提高效率,因为现在只有在发生更改时才会生成文件。

我发现我可以在生成事件菜单中设置预链接事件

这允许我使用以下命令:

lib -out:"../Debug/tempAllDllObjects.lib" "../MyDLLProject/Debug/*.obj"
现在,即使我的项目是DLL项目,我也有一个额外的.lib文件,其中包含项目中的所有对象。我所要做的就是引用新创建的lib文件。通过这种方式,我可以链接DLL项目中的所有对象,即使它们不在公共接口中


需要注意的是,该命令也可以在DLL项目上设置为后期生成事件,这将提高效率,因为现在lib文件仅在发生更改时生成。

您甚至可以在其他链接器输入中使用类似于*.obj的通配符。您甚至可以在附加链接器输入。