pretty code

2020年2月20日 星期四

Print integer string in the macro of VC

有些軟體編譯時在標頭檔會檢查 Compiler 版本,以 VC 來說,版本號是定義在 "_MSC_VER"。

今天為了檢查 TensorFlow build error 的問題,需要知道編譯時期在錯誤的 include file 中,這個 "_MSC_VER" 的值為何?

查了一下,可以用底下的方式搞定。

#pragma message("_MSC_VER is " _CRT_STRINGIZE(_MSC_VER))

另外,在 llvm\include\llvm\Support\Compiler.h 裡,有列出一些 VC 版本對應參考。

/// * 1910: VS2017, version 15.1 & 15.2
/// * 1911: VS2017, version 15.3 & 15.4
/// * 1912: VS2017, version 15.5
/// * 1913: VS2017, version 15.6
/// * 1914: VS2017, version 15.7
/// * 1915: VS2017, version 15.8
/// * 1916: VS2017, version 15.9
/// * 1920: VS2019, version 16.0
/// * 1921: VS2019, version 16.1

沒有留言: