Windows下使用CMake進階

CMake入門實踐一文中,咱們初略的介紹了CMake的跨平臺性和使用方法。
本文將學習在Windows下如何系統的使用CMake,會涉及到msbuild ,nmake等Windows本地的工具庫,若是不是很瞭解,能夠先百度看看。
cmake有Windows的GNU工具,這個工具很傻瓜化,這裏不作介紹。linux

回顧代碼工程中有什麼

  1. 源文件 如cpp 文件
  2. 頭文件 如h文件
  3. 咱們本身的庫文件 ,lib 或者dll文件
  4. 三方庫,不過通常而言,咱們使用庫文件的lib或者dll而後加上它的頭文件便可
  5. 資源文件
  6. 其餘?

將須要的東西在cmake腳本CMakeLists.txt中申明

CMakeLists.txt的寫法規則及語法:
該文很全面了,我再也不造輪子了程序員

一鍵型編譯

CMakeLists.txt 文件寫好後,咱們就能夠開始編譯了,和以前的介紹的同樣,咱們最好將編譯生成的文件所有放入一箇中間文件夾中。
linux下的一鍵編譯是很是優美的,windows程序員由於被VS等IDE包養,並非很願意使用黑壓壓的命令行工做,可是,我會告訴你,使用命令行工做已是大勢所趨了。你不只須要熟悉命令行工做,更應該擅長此道。
widows下也有本身的命令行編譯工具,好比msbuild,nmake等。這兩個工具是和VS一塊兒升級維護的,因此對於像筆者這樣,一臺機器安裝3個版本的VS的人,要使用正確版本的編譯工具其實須要走些路。shell

使用nmake

如下是筆者但願使用VS2008的nmake須要完成的工做:windows

  1. 首先打開cmder
  2. 找到VS2008的安裝路徑,好比筆者的是E:\Program Files\Microsoft Visual Studio 9
  3. 在cmder中輸入 "E:\Program Files\Microsoft Visual Studio 9\VC\vcvarsall.bat" x86(雙引號很重要,必須, x86表示我但願編譯32位程序)
  4. 環境配置完成後,切換路徑到win-build(這是我自定義的代碼生成中間文件夾,外圍纔是個人工程代碼)輸入cmake .. -G "NMake Makefiles"
  5. 而後輸入nmake
  6. 編譯無誤後生成了可執行程序

補充說明:工具

  • 使用其餘編譯環境同VS2008便可,找到該版本的VS的目錄,輸入命令配置nmake環境
  • 該配置環境只在本次控制檯有效,不會影響你的系統配置

使用msbuild

使用msbuild的步驟和nmake大同小異:
將上面第4步的cmake .. -G "NMake Makefiles" 換成 cmake .. -G "Visual Studio 9 2008"
將上面第5步的nmake 換成 MSBuild.exe Project.sln 這個Project.sln 換成你本身的工程名便可學習

實現一鍵編譯

能夠把命令寫成bat腳本 ,作到真正的一鍵編譯。ui

echo off

echo 'start cmake in windows'

call "e:/Program Files/Microsoft Visual Studio 9/VC/vcvarsall.bat" x86

cd  win-build

cmake .. -G "NMake Makefiles"

nmake

echo 'end all'

其餘能夠參考,將該bat文件放在和cmake腳本文件同路徑下,便可一鍵生成exe執行文件。.net

參考

官方指導命令行

https://blog.csdn.net/qq_22042587/article/details/78850708

http://www.javashuo.com/article/p-ztjbezug-md.html

http://www.360doc.com/content/14/1113/13/9075092_424804822.shtml

https://blog.csdn.net/gxuan/article/details/7701035

https://blog.csdn.net/yanchuang1/article/details/69683236

http://www.javashuo.com/article/p-pyxrgiet-kq.html

https://blog.csdn.net/libaineu2004/article/details/78995740

相關文章
相關標籤/搜索