在另一个项目visualstudio中使用一个项目中的对象文件

use object files from one project in another project visual studio

本文关键字:项目 一个 对象 文件 visualstudio 另一个      更新时间:2023-10-16

考虑具有多个项目的visual studio解决方案,一些源文件用于多个项目。我目前在每个项目中包含多个项目中使用的源文件,但这会导致为每个项目编译相同的源文件。是否有任何方法可以将单个项目指定为生成文件的项目,并链接到所有其他项目中的已生成对象。

我知道创建静态lib的选项,但我想知道是否可以直接指定解决方案中项目之间的依赖关系,就像编写makefile一样。

搜索显示了2010年以来关于该主题的单一问题,但没有合适的解决方案:如何在同一解决方案中的不同项目中使用相同的obj文件

您可以指定项目依赖项(http://msdn.microsoft.com/en-us/library/et61xzb3(v=vs.80).aspx),但为了在项目之间使用相同的源,您需要创建一个静态lib或dll并与之链接。您也可以在项目设置中设置这些配置,这样您就不会有显示链接的代码,这一切都是在编译/链接语句

中完成的

您可能会考虑的一件事是创建一个有多个项目的解决方案,并正确设置每个项目的构建依赖关系,以便"基本项目"总是在其他项目之前构建,这取决于它的构建。

正如您所提到的,静态库是实现这一点的最佳项目类型。将所有公共文件分组到一个静态库项目中,并在DLL或exe项目上使用"添加依赖项"选项创建对库的依赖项,右键单击VS解决方案资源管理器窗格中的项目即可获得该选项。

注意一件事:如果你在库之间创建一个级联的依赖关系,它们会变得越来越大(链的最后一个库将包含所有其他库的所有符号…一种.obj文件的cat…)