是否将Visual Studio项目设置复制到新项目



背景

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

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

我想复制的项目使用了很多库,我不知道它是如何设置的。我只知道它适用于那个项目,我也需要它来处理重复的项目。

问题

我遇到的问题是,至少有一个库似乎没有被识别。这导致代码下面有一条红色的歪歪扭扭的线,没有自动完成等。(这不再相关,请参阅编辑1)

尝试的解决方案

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

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

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

我知道这个问题,但公认的答案取决于知道哪些设置需要更改。我不知道,我也不知道如何找到答案。

问题

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

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


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

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

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

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

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

最新更新