有没有一种方法可以使用预处理器标志或任何其他方法来获取Visual Studio正在使用的构建工具版本,以便代码/编译器可以在编译器时间决定如何编译代码?
在使用构建工具v140和v143时,头文件/代码有一些差异,但是为了保持它与两个版本的构建工具兼容,我想使用#ifdef
或类似的东西封装一些代码,这样它就可以在不对代码进行任何更改的情况下使用任何版本进行构建,并保持向后兼容。
有没有一种方法可以使用预处理器标志或任何其他方法来获取Visual Studio正在使用的构建工具版本,以便代码/编译器可以在编译器时间决定如何编译代码?
在使用构建工具v140和v143时,头文件/代码有一些差异,但是为了保持它与两个版本的构建工具兼容,我想使用#ifdef
或类似的东西封装一些代码,这样它就可以在不对代码进行任何更改的情况下使用任何版本进行构建,并保持向后兼容。
1条答案
按热度按时间bis0qfac1#
是,您可以将以下内容添加到预处理器定义中:
_MSC_PLATFORM_TOOLSET_$(PlatformToolset);
然后像这样使用它:
#ifdef _MSC_PLATFORM_TOOLSET_v140
或#if defined ( _MSC_PLATFORM_TOOLSET_v140 )
例如: