[cmake]如何設定Debug和Release編譯模式

峻峰飛陽發表於2019-04-10

 

 

一般Debug和Release必須在不同的目錄下編譯,否則每次當切換模式時必須把編譯檔案全部刪掉。

這裡假設新建兩個目錄Debug和Release來分別用於構建相應的模式:

 

Xml程式碼  收藏程式碼

  1. mkdir Release  
  2. cd Release  
  3. cmake -DCMAKE_BUILD_TYPE=Release ..  
  4. make  

 

Xml程式碼  收藏程式碼

  1. mkdir Debug  
  2. cd Debug  
  3. cmake -DCMAKE_BUILD_TYPE=Debug ..  
  4. make  

 

windows下的注意事項

如果是windows下,想使用CMAKE_BUILD_TYPE引數,cmake時必須用-G"NMake Makefiles",而不能用-G"Visual Studio 14"(這裡假設vs2015為例。如果你使用了-G"Visual Studio 14"且要指定release/debug,我覺得應該在msbuild命令引數中設定,具體如何設定還沒去研究),否則會提示無法識別CMAKE_BUILD_TYPE。

 

用法示例:

Xml程式碼  收藏程式碼

  1. cmake -G"NMake Makefiles" -DCMAKE_BUILD_TYPE=Release path\to\source\dir  
  2. nmake  

注意:如果不使用CMAKE_BUILD_TYPE引數,則預設是Debug

 

轉載自http://aigo.iteye.com/blog/2295102

其他參考:

http://stackoverflow.com/questions/7724569/debug-vs-release-in-cmake

cmake簡介:https://www.ibm.com/developerworks/cn/linux/l-cn-cmake/index.html

相關文章