检查编译器是gcc/mingw还是VC++ cl的Flag? [重复]

问题描述 投票:0回答:1

可能重复:
使用#ifdef检测编译器

大家好,

我一直在开发一个C++项目,在linux上使用gcc,在windows上使用mingw。现在我想在Windows上使用VC++ cl编译器。 我要保持相同的源代码树,只更改编译器特定的逻辑,例如:

#ifdef VC_CL_COMPILER
 //do vc++ related
#elif MINGW_FLAG
 //do mingw related
#elseif GCC_FLAG
  //do gc related    
#endif

有什么建议吗?

c++ visual-c++ mingw
1个回答
12
投票

编译器通常为此有一个预定义的宏。

#if defined(__GCC__)
  //do gcc related
#elif defined(_MSC_VER)
  //do msvc related
#else

#endif
© www.soinside.com 2019 - 2024. All rights reserved.