我有一个包含三个项目的解决方案文件,每个项目都有不同的解决方案配置。所有三种解决方案配置共享大量.cpp文件,但大约有两个.cpp文件在三者之间有所不同。我有三个不同的项目来处理这个问题。这是一个例子:
解决方案资源管理器的视图:
解决方案'大项目'(3个项目)
PROJECT1
Source Files
foo1
foo2
foo3.cpp
...
fooUnique1.cpp
fooUnique2.cpp
Project2的
Source Files
foo1.cpp
foo2.cpp
foo3.cpp
...
fooUnique3.cpp
fooUnique4.cpp
项目3
Source Files
foo1.cpp
foo2.cpp
foo3.cpp
...
fooUnique5.cpp
fooUnique6.cpp
我最终想要的只是一个项目和三个解决方案配置,每个配置都指向其各自独特的.cpp文件。为每个项目更改共享的.cpp文件是很繁琐的,所以我想知道是否可以为一个项目中的每个解决方案配置提供不同的.cpp文件。
答案 0 :(得分:2)
在“解决方案视图”中,选择一个文件,右键单击该文件,然后从弹出菜单中选择“属性”。在该文件的“属性”页面上的“常规”行中,您可以选择“从构建中排除”(是/否)。您选择的答案仅适用于活动(或其他选定)配置。
答案 1 :(得分:0)
作为另一种想法,您可以使用不同的预处理器定义来设置每个解决方案配置。然后在相关文件中用ifdefs基于相应的定义包围整个内容。这样你就可以从你不想要它们的配置中有效地排除这些文件的内容。虽然编译器仍会在每种情况下看到文件,但它会跳过它们包含的任何被ifdef排除的内容。