Cmake:vs的版本選擇

發現問題:(使用的環境是vs2017)

D:\01_cmake_win\winlib.c: fatal error C1001: 編譯器中發生內部錯誤。
(編譯器文件“msc1.cpp”,第 1511 行)
 要解決此問題,請嘗試簡化或更改上面所列位置附近的程序。
請選擇 Visual C++
“幫助”菜單上的“技術支持”命令,或打開技術支持幫助文件來獲得詳細信息。
D:\Program Files (x86)\vs2017\VC\Tools\MSVC\14.13.26128\bin\Hostx64\x86\cl.exe 中有內部編譯器錯誤。系統將會提示你稍後向 Microsoft 發送錯誤報告。

網上搜了下基本沒找到答案,於是嘗試 cmake -G

D:\01_cmake_win>cmake -G
CMake Error: No generator specified for -G

Generators
  Visual Studio 14 2015 [arch] = Generates Visual Studio 2015 project files.
                                 Optional [arch] can be "Win64" or "ARM".
  Visual Studio 12 2013 [arch] = Generates Visual Studio 2013 project files.
                                 Optional [arch] can be "Win64" or "ARM".
  Visual Studio 11 2012 [arch] = Generates Visual Studio 2012 project files.
                                 Optional [arch] can be "Win64" or "ARM".
  Visual Studio 10 2010 [arch] = Generates Visual Studio 2010 project files.
                                 Optional [arch] can be "Win64" or "IA64".
  Visual Studio 9 2008 [arch]  = Generates Visual Studio 2008 project files.
                                 Optional [arch] can be "Win64" or "IA64".
  Visual Studio 8 2005 [arch]  = Generates Visual Studio 2005 project files.
                                 Optional [arch] can be "Win64".
  Visual Studio 7 .NET 2003    = Deprecated.  Generates Visual Studio .NET
                                 2003 project files.
  Borland Makefiles            = Generates Borland makefiles.
  NMake Makefiles              = Generates NMake makefiles.
  NMake Makefiles JOM          = Generates JOM makefiles.
  Green Hills MULTI            = Generates Green Hills MULTI files
                                 (experimental, work-in-progress).
  MSYS Makefiles               = Generates MSYS makefiles.
  MinGW Makefiles              = Generates a make file for use with
                                 mingw32-make.
  Unix Makefiles               = Generates standard UNIX makefiles.
  Ninja                        = Generates build.ninja files.
  Watcom WMake                 = Generates Watcom WMake makefiles.
  Android Gradle - Ninja       = Generates Android Gradle build files.
  Android Gradle - Unix Makefiles
                               = Generates Android Gradle build files.
  CodeBlocks - MinGW Makefiles = Generates CodeBlocks project files.
  CodeBlocks - NMake Makefiles = Generates CodeBlocks project files.
  CodeBlocks - Ninja           = Generates CodeBlocks project files.
  CodeBlocks - Unix Makefiles  = Generates CodeBlocks project files.
  CodeLite - MinGW Makefiles   = Generates CodeLite project files.
  CodeLite - NMake Makefiles   = Generates CodeLite project files.
  CodeLite - Ninja             = Generates CodeLite project files.
  CodeLite - Unix Makefiles    = Generates CodeLite project files.
  Eclipse CDT4 - MinGW Makefiles
                               = Generates Eclipse CDT 4.0 project files.
  Eclipse CDT4 - NMake Makefiles
                               = Generates Eclipse CDT 4.0 project files.
  Eclipse CDT4 - Ninja         = Generates Eclipse CDT 4.0 project files.
  Eclipse CDT4 - Unix Makefiles= Generates Eclipse CDT 4.0 project files.
  Kate - MinGW Makefiles       = Generates Kate project files.
  Kate - NMake Makefiles       = Generates Kate project files.
  Kate - Ninja                 = Generates Kate project files.
  Kate - Unix Makefiles        = Generates Kate project files.
  Sublime Text 2 - MinGW Makefiles
                               = Generates Sublime Text 2 project files.
  Sublime Text 2 - NMake Makefiles
                               = Generates Sublime Text 2 project files.
  Sublime Text 2 - Ninja       = Generates Sublime Text 2 project files.
  Sublime Text 2 - Unix Makefiles
                               = Generates Sublime Text 2 project files.

從提示可知當前cmake支持的最高vs版本爲 :Visual Studio 14 2015

於是在vs2010下嘗試

D:\01_cmake_win>cmake --build ./ --config Release
-- Configuring done
-- Generating done
-- Build files have been written to: D:/01_cmake_win
[ 50%] Building C object CMakeFiles/win_test.dir/winlib.c.obj
cl: 命令行 warning D9025 :正在重寫“/MDd”(用“/MT”)
winlib.c
[100%] Linking C shared library bin\win_test.dll
[100%] Built target win_test

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章