【问题标题】:Copy Visual Studio project settings to new project?将 Visual Studio 项目设置复制到新项目?
【发布时间】:2018-04-15 03:19:16
【问题描述】:

背景

我在 Windows 10 上运行 Visual Studio Community 2015,编写 C++ 代码。

我收到了一个包含两个项目的解决方案。我需要创建其中一个项目的副本,但使用不同的源文件和头文件(包含大致相同的代码,但位于文件系统中的另一个位置)。

我要复制的项目使用了很多库,我不知道它们是如何设置的。我只知道它适用于该项目,我也需要它适用于重复项目。

问题

我遇到的问题是至少有一个库似乎无法识别。这会导致代码下方有一条红色波浪线,没有自动完成等。(这不再相关,请参阅 Edit 1

尝试的解决方案

我尝试使用新的源文件创建一个新项目,将其添加到解决方案中,并通过右键单击现有项目、选择属性并复制任何未设置为其默认值的内容手动复制项目设置.这不起作用。

我尝试复制现有的 .vcxproj 文件,将它们添加到解决方案中,删除旧的并重新添加新的源文件和头文件。这不起作用。

在这两种情况下,在解决方案资源管理器中展开外部依赖项时,旧项目的列表比副本长得多。

我知道this question,但接受的答案取决于知道需要更改哪些设置。我不知道,也不知道怎么查。

问题

那么,有没有办法复制控制它的整套设置?

或者,有没有一种方法可以准确地检查现有项目为什么它能够解析特定的外部引用,以便我可以找出我需要在副本中更改哪些设置?


编辑 1 好吧,现在我觉得自己很愚蠢。几天来我一直在与这个问题作斗争,但我对我拥有的文件做了一些错误的假设。

事实证明,第二组头文件(位于文件系统中的新位置)与旧头文件相似,但并不完全相同。所以乍一看,它们看起来一模一样,我从不费心去检查。

新的头文件在相关的#include 语句之前有#if defined(WIN64),这当然是没有包含该库的原因。

所以,我的新问题是,在不修改头文件的情况下,#define WIN64 的明智方法是什么?我可以在哪里放置该定义以使其在该头文件中有效,而无需更改该头文件?

【问题讨论】:

  • 你运行什么系统? Windows、Linux 还是 Mac?
  • @EdwinKepler 编辑添加我在 Win10 上
  • Visual Studio Community 2015 无论如何只能在 Windows 上运行。
  • @EdwinKepler 评论只能被点赞或标记。
  • 您确定它是WIN64 而不是_WIN64(这是x64 Visual C++ 工具链的预定义宏)?您可以在预处理器属性页面上定义宏。

标签: c++ visual-studio dependencies dependency-management


【解决方案1】:

为多个项目使用相同项目属性的正确方法不是在它们之间复制粘贴属性,而是使用Property Manager。您应该弄清楚原始项目的配置方式(请注意,特定文件的属性可能与项目属性不同)并创建相应的属性表。然后将此表应用于新项目。

【讨论】:

  • 那么问题是我如何弄清楚原始项目是如何配置的?
  • @gibson 您应该可以通过浏览原始项目属性页面来做到这一点。如果该特定库没有被识别,那么您应该查找它在原始项目中的引用方式。检查项目本身的属性页以及使用该库的文件(并收到一条波浪线)。
  • 正如我在原始问题中所述,我已尽我所能做到这一点。
  • @gibson 你很可能错过了一些基本的东西。实际上是哪个图书馆?它是否有任何关于它应该如何使用的文档?
  • 这个库被称为 Eigen。在与过去两天的挖掘略有不同的方向上挖掘得更深,我确实错过了一些基本的东西。我将编辑问题以包含我的新发现,并提出后续问题。
猜你喜欢
  • 2011-11-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-10
  • 2017-04-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多