使用另一个项目visual studio中的一个项目的目标文件

时间:2013-06-25 19:40:57

标签: c++ visual-studio linker

考虑使用多个项目的visual studio解决方案,一些源文件用于多个项目。 我目前在每个项目中包含多个项目中使用的源文件,但这导致为每个项目编译相同的源文件。有没有办法将单个项目指定为构建文件的项目,并链接到所有其他项目中的构建对象。

我知道创建静态库的选项,但我想知道是否可以在解决方案中直接指定项目之间的依赖关系 - 就像你可以通过编写makefile来做。

搜索从2010年开始就该主题发布单一问题,但目前还没有合适的解决方案: How to use the same obj files in different projects in the same solution

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

您可能考虑的一件事是创建一个解决方案,其中您有多个项目,并且您正确设置每个项目的building dependency,以便“基础项目”将始终在其他项目之前构建,具体取决于它建。

答案 2 :(得分:0)

如你所说,静态lib是最好的项目类型。将所有公共文件分组到静态lib项目中,并在DLL或exe项目上使用“添加依赖项”选项创建对lib的依赖关系,右键单击VS解决方案资源管理器窗格中的项目即可获得该选项。 / p> 注意一件事:如果你在Libs之间创建一连串的依赖关系,它们会变得越来越大(链的最后一个lib将包含所有其他的所有符号......一种猫的形象。 obj文件....)