在visual studio中的其他几个项目中使用一个通用项目

时间:2015-02-20 16:29:54

标签: c visual-studio visual-studio-2013

我正在multi-solution project VS 2013 C上工作{我必须使用C来完成此项目。我实现了一个"Common"项目,我打算将其用作另一个项目的参考。所以我有一个解决方案,其中包含common.h和匹配的common.c来源,其中我实现了所有常用功能。

我现在创建了一个新的"Application"项目(在当前项目中,所以我现在有2个解决方案),它做了很多事情,并使用已经在common.c文件中实现的功能(在"Common"解决方案中。所以我有一个app.h文件,其中包含匹配的app.c来源。我更改了设置,以便"Application"项目包含"Common"项目。

但是,当我运行"Application"解决方案时(仅因为"Common"项目仅用作没有main函数的引用)我收到错误告诉我没有引用common.h中的函数。

我在线寻找解决方案,有人说我应该将common.c复制到我的"Application"项目中,但这对我来说是一个非常糟糕的解决方案,因为我希望拥有多个应用程序他们使用"Common"项目。

我该如何解决?

1 个答案:

答案 0 :(得分:0)

您不必复制任何文件即可使其正常工作。右键单击Solution Explorer窗口顶部的解决方案。选择添加 - >上下文菜单中的现有项目。找到“Common”项目的项目文件。它应该显示在您的解决方案的项目列表中。

右键单击解决方案资源管理器中的“应用程序”项目,然后从上下文菜单中选择“属性”。在属性页面窗口中,转到“公共属性”。单击“添加新引用...”按钮。在“添加引用”窗口中,转到“解决方案”选项卡,然后单击“常用”项目的复选框。点击“确定”。

现在您的“应用程序”项目引用了您的“Common”项目。您还可以在新解决方案中打开common.ccommon.h,并且所有更改都将自动应用于引用它的所有其他解决方案,因为它们是原始文件而不仅仅是副本。

上述方法假定您的Common项目的输出是DLL。 Visual Studio(无论出于何种原因)不会自动复制静态链接库(.lib)文件。您当然可以链接它们,但添加引用将不起作用。您需要转到“应用程序”项目的属性页面,转到链接器 - >输入选项卡,然后编辑Additional Dependencies行。您还可以将包含common.h的目录添加到C / C ++选项卡下的其他包含目录中。

无论哪种方式,我认为仅仅复制文件是一个坏主意,除非你在源代码控制中使用模块(例如Git模块或SVN外部)来管理依赖项。

相关问题