C++ Visual Studio中不同编译选项的不同源文件

C++ Visual Studio中不同编译选项的不同源文件,c++,visual-studio,coding-style,standards,C++,Visual Studio,Coding Style,Standards,是否有一种标准(ish)或一种方法来处理不同编译选项的不同源文件,这就是Visual Studio 现在我有一个OpenGL和DirectX框架,我正在将它们合并在一起。目前,我如何区分它们是通过在源文件中的#如果定义了 // GraphicsGL.hpp #include <platform.hpp> #if defined(USE_GL) // code #endif //GraphicsGL.hpp #包括 #如果已定义(使用德国劳埃德船级社) //代码 #恩迪夫 及 /

是否有一种标准(ish)或一种方法来处理不同编译选项的不同源文件,这就是Visual Studio

现在我有一个OpenGL和DirectX框架,我正在将它们合并在一起。目前,我如何区分它们是通过在源文件中的
#如果定义了

// GraphicsGL.hpp
#include <platform.hpp>

#if defined(USE_GL)
// code
#endif
//GraphicsGL.hpp
#包括
#如果已定义(使用德国劳埃德船级社)
//代码
#恩迪夫

//GraphicsDX.cpp
#包括
#如果已定义(使用_DX)
//代码
#恩迪夫

我不想走两个不同项目的道路,不依赖于平台的东西比现在更多。

您可以从构建中排除文件,并且可以为每个文件指定预处理器符号定义;只需右键单击文件,然后在解决方案资源管理器中单击属性,我建议您将依赖于平台的代码分解到它自己的库中,并构建不同版本的代码。实际项目将有单独的生成配置,使用其中一种。

您当前的解决方案没有那么糟糕。。您可以有一个名为Release\u OpenGL defining USE\u GL和Release\u Dx defining USE\u Dx的配置。
// GraphicsDX.cpp
#include <platform.hpp>

#if defined(USE_DX)
// code
#endif