在 Visual Studio 中为单个解决方案编译和使用多个项目

Posted

技术标签:

【中文标题】在 Visual Studio 中为单个解决方案编译和使用多个项目【英文标题】:Compiling and using multiple projects for a single solution in Visual Studio 【发布时间】:2016-06-13 10:48:14 【问题描述】:

我正在使用 Visual Studio 2015 社区版。我正在尝试构建一个非常基本的游戏引擎。我想将引擎的核心部分与物理和渲染代码分开。我知道如何将辅助物理和渲染器项目添加到主要核心解决方案中。但是,如何设置关系,以及如何访问解决方案核心部分中的渲染器和物理文件?我需要对链接器和 VC++ 目录等项目属性进行任何必要的更改吗?

【问题讨论】:

【参考方案1】:
<project name> (Core)
  <solution1> (Core project)
  <solution2> (Physics)
  <solution3> (Renderer)

在您想要使用物理和渲染器的核心项目中。要在它们之间链接项目,请转到 Core project -&gt; options -&gt; common properties -&gt; references -&gt; add new reference -&gt; check Physics and Renderer,然后从链接器和 VC++ 目录(C/C++ - &gt; general -&gt; additional include directories and Linker - &gt; general -&gt; additional include directoriesLinker - &gt; general -&gt; input -&gt; additional dependencies

【讨论】:

是否需要将 Physics 和 Renderer 项目的头文件添加到 VC++ 目录中?对于物理和渲染器项目,我需要将 .lib 文件添加到链接器中吗?很抱歉,我在使用 Visual Studio 方面比较落后。 "我需要添加头文件吗" - 到核心项目,是的:C/C++ - &gt; general -&gt; additional include directories- 在这里你指定你有头文件的位置。 “我需要将 .lib 文件添加到链接器” - 如果 是 dll,那么是的,这些 dll 将创建 .lib 和 .dll 。 Linker - &gt; general -&gt; additional include directories - 在这里您指定您的库所在的文件夹。如果 不是 dll,请不要在链接器处更改任何内容。对不起,如果我不清楚。问什么。 看看这个What are .sln and .vcproj files, and what do they contain?,在我的例子中 .sln 是 而 .vcxproj 是 等等。

以上是关于在 Visual Studio 中为单个解决方案编译和使用多个项目的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Visual Studio 2013 中为 sqlite 配置实体框架 6

如何在具有多个子项目的 Visual Studio 中为 C# 解决方案设置通用值(抽象)?

在 Visual Studio 2015 中为自定义代码分析器抑制警告

在 Visual Studio 2010 C++ 中为 /// 生成 XML 文档注释

错误 C2536 的解决方法:无法在 Visual Studio 2013 中为数组指定显式初始化程序

在 html 中为 Visual Studio 中的 Angular 静态键入