Visual studio 在VS2008中,是否可以在两个不同的项目中使用不同的选项编译相同的源文件?

Visual studio 在VS2008中,是否可以在两个不同的项目中使用不同的选项编译相同的源文件?,visual-studio,visual-c++,Visual Studio,Visual C++,我有一个包含两个项目a和B的解决方案。我在每个项目中都有一个对源文件S的引用,并且源文件有不同的编译选项。具体而言,我在项目A和B中使用不同的预处理器指令。示意图上我有: Solution Project A Source S Project B Source S 这是允许的吗?S的编译选项存储在解决方案、项目或文件级别吗?编译器选项存储在项目级别 这样做完全合法,一个文件可以是多个项目的一部分,可以使用不同的选项、不同的头路径、不同的预处理器指令进行编译。

我有一个包含两个项目a和B的解决方案。我在每个项目中都有一个对源文件S的引用,并且源文件有不同的编译选项。具体而言,我在项目A和B中使用不同的预处理器指令。示意图上我有:

Solution
   Project A
      Source S
   Project B
      Source S

这是允许的吗?S的编译选项存储在解决方案、项目或文件级别吗?

编译器选项存储在项目级别


这样做完全合法,一个文件可以是多个项目的一部分,可以使用不同的选项、不同的头路径、不同的预处理器指令进行编译。。。编译器选项存储在项目级别


这样做完全合法,一个文件可以是多个项目的一部分,可以使用不同的选项、不同的头路径、不同的预处理器指令进行编译。。。你说得对。

谢谢-这是我希望的项目级答案谢谢-这是我希望的项目级答案为什么不将S的源代码放入DLL,而不是包含在多个项目中?@Ajay,这样你就不必在多个地方修改文件了。另外,将源代码放入DLL意味着什么。如果两个项目都生成dll,那么源代码在哪里并不重要,只是它都包含在这两个项目中behavior@LuchianGrigore,如果源文件/代码很小,则将其放入单独的DLL/库中没有任何好处。但是,如果源代码很大,最好放在某个DLL中,让每个项目(DLL/EXE)都使用它。为什么不把源代码放在DLL中,而不是放在多个项目中?@Ajay,这样你就不必在多个地方修改文件了。另外,将源代码放入DLL意味着什么。如果两个项目都生成dll,那么源代码在哪里并不重要,只是它都包含在这两个项目中behavior@LuchianGrigore,如果源文件/代码很小,则将其放入单独的DLL/库中没有任何好处。但是,如果源代码很大,最好放进一些DLL,让每个项目(DLL/EXE)都使用它。