简单来说vs发布版本与vc版本对应关系如下所示:
在程序中加入 _MSC_VER 宏可以根据编译器版本让编译器选择性地编译一段程序。例如一个版本编译器产生的lib文件可能不能被另一个版本的编译器调用,那么在开发应用程序的时候,在该程序的lib调用库中放入多个版本编译器产生的lib文件。在程序中加入 _MSC_VER 宏,编译器就能够在调用的时根据其版本自动选择可以链接的lib库版本,如下所示:
- #if _MSC_VER >= 1400 // for vc8, or vc9
-
- #ifdef _DEBUG
-
- #pragma comment( lib, "SomeLib-vc8-d.lib" )
-
- #elif
-
- #pragma comment( lib, "SomeLib-vc8-r.lib" )
-
- #endif
-
- #elif _MSC_VER >= 1310 // for vc71
-
- #ifdef _DEBUG
-
- #pragma comment( lib, "SomeLib-vc71-d.lib" )
-
- #elif
-
- #pragma comment( lib, "SomeLib-vc71-r.lib" )
-
- #endif
-
- #elif _MSC_VER >=1200 // for vc6
-
- #ifdef _DEBUG
-
- #pragma comment( lib, "SomeLib-vc6-d.lib" )
-
- #elif
-
- #pragma comment( lib, "SomeLib-vc6-r.lib" )
-
- #endif
-
- #endif
-