背景
我在Windows 10上运行Visual Studio Community 2015,编写C ++代码。
我已经提交了一个包含两个项目的解决方案。我需要创建一个项目的副本,但使用不同的源文件和头文件(包含大致相同的代码,但位于文件系统中的另一个位置)。
我要复制的项目使用了很多库,我不知道它是如何设置的。我所知道的是它适用于该项目,我也需要它来为重复项目工作。
问题
我遇到的问题是至少有一个库似乎没有被识别出来。这导致代码下面有一条红色波浪形线,没有自动完成等等。(这已不再相关,请参阅编辑1 )
尝试解决方案
我尝试使用新的源文件创建一个新项目,将其添加到解决方案中,并通过右键单击现有项目,选择“属性”并复制未设置为其默认值的任何内容来手动复制项目设置。这没用。
我尝试复制现有的.vcxproj文件,将它们添加到解决方案中,删除旧的并重新添加新的源文件和头文件。这没用。
在这两种情况下,在解决方案资源管理器中展开外部依赖项时,旧项目的列表比副本长得多。
我知道this question,但接受的答案依赖于知道需要更改哪些设置。我不知道,我不知道怎么找出来。
问题
那么,有没有办法复制控制它的整套设置?
或者,有没有办法可以在现有项目中准确检查为什么它能够解析特定的外部引用,以便我可以找出我需要在副本中更改哪个设置?
修改1 好吧,现在我觉得很蠢。我已经和这个问题打了几天了,但是我对我的文件做了一些不正确的假设。
事实证明,第二组头文件(位于文件系统中的新位置)与旧版头文件相似但不完全相同。所以乍一看,它们看起来完全相同,我从不打扰检查。
新的头文件在相关的#if defined(WIN64)
语句之前有#include
,这当然是未包含库的原因。
所以,我的新问题是,#define WIN64
在没有修改头文件的情况下有什么明智的方法?我可以在哪里放置该定义,使其在该头文件中有效,而不更改该头文件?
答案 0 :(得分:2)
对多个项目使用相同项目属性的正确方法不是在它们之间复制粘贴属性,而是使用Property Manager。您应该弄清楚您的原始项目是如何配置的(请注意特定文件的属性可能与项目属性不同)并创建相应的属性表。然后将此工作表应用于新项目。