久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

CMake學(xué)習(xí)-基礎(chǔ)

 londonKu 2012-05-07

本節(jié)介紹CMake里最常用的三個命令,分別是cmake_minimum_required; project; add_executable等,。

CMake是個好東西,,在使用VTK, ITK, IGSTK, OpenCV, DCMTK等開源工具包時,是離不開CMake的,,甚至有時你使用 FLTK , Qt等界面開發(fā)工具時,,也經(jīng)常會看到CMake,,你會發(fā)現(xiàn)在好多目錄下會有一個文件”CMakeLists.txt”,,這個文件就是使用CMake構(gòu)建工程環(huán)境的重要文件,。了解一點關(guān)于CMake的內(nèi)容,對使用以上提到的一些開源工具包是灰常有幫助的,,而且你會發(fā)現(xiàn),,CMake用久了,,你會覺得它是很可愛很好用的東西。

 

下面我們從最簡單的入手來看看CMake怎么使用:寫一個HelloCMake.cpp文件,里面就簡單地輸出一行字符串:”Study CMake Together - Hello CMake!”,,一起看看怎么用CMake來構(gòu)建工程,。

首先,在使用CMake之前請先從CMake網(wǎng)站(http://www.)上下載最新版的安裝文件并在你的機子上安裝,你也可以下載CMake源碼,然后在你機子上編譯;對于使用CMake的童鞋,,建議用傻瓜式安裝方式就行了(這里所做的例子全是在Windows 7平臺上的。)

然后,,還要確保你的機子已經(jīng)安裝了一種編譯器,我機子上安裝的是VS2008,。你也可以選擇其他編譯器,建議用VS2008或以上版本的,,個人覺得比較好用,。

接著在你機子的某個盤里建一個新的文件夾,如我這里的完整路徑是:D:\CMake\CMake-Study\HelloCMake; 然后在HelloCMake文件夾里建立一個HelloCMake.cpp文件,,里面的代碼如下:

#include <iostream>

int main()

{

  std::cout<<"Study CMake Together - Hello CMake!"<<std::endl;

  return 0;

}

然后在HelloCMake文件夾里建立一個CMakeLists.txt文件,,注意文件名不能是別的,必須叫這個名字,。里面的內(nèi)容如下:

cmake_minimum_required(VERSION 2.6)

         project(HelloCmake)

         add_executable(HelloCMake hellocmake.cpp)

接著在HelloCMake的同級目錄里建立一個新的文件夾,,就叫做HelloCMake-bin,在我機子上的完整路徑是:D:\CMake\CMake-Study\HelloCMake-bin,,你可以針對自己的目錄路徑對號入座,。

然后打開CMake程序,界面如圖(1):

 


 圖(1)                                   


 圖(2)

接著把包含CMakeLists.txt和HelloCMake.cpp文件的完整路徑給”where is the source code”,,把最后建立的HelloCMake-bin目錄的完整路徑給”where to build the binaries”,,然后按Cofigure,界面如圖(2),。

Configure完了以后,,再按Generate,直到所有的紅色選項都變成灰色為止,。界面如圖(3),。然后打開HelloCMake-bin,你會發(fā)現(xiàn)原來空的文件夾里面自動生成了好多文件,,如圖(4),。

  


圖(3) 

 


  圖(4)

到此為止,工程構(gòu)建完成,,打開HelloCMake-bin目錄下的HelloCMake.sln,,里面有三個工程,分別是:ALL_BUILD,;HelloCMake,;ZERO_CHECK。這三個工程的大概作用如下(個人理解而已),,HelloCMake就不用說了,,自己要建立的那個工程;ALL_BUILD是管理整個項目的工程;ZERO_CHECK是實時監(jiān)視CMakeLists.txt文件變化的工程,,一旦CMakeLists.txt里的內(nèi)容發(fā)生了任何變化,,ZERO_CHECK就會告訴編譯器要重新構(gòu)建整個工程環(huán)境。所以,,你可以先把工程關(guān)掉,,打開CMakeLists.txt文件,更改里面的內(nèi)容以后,,把根據(jù)以上說的步驟走一遍CMake,;你也可以在編譯器環(huán)境(如VS2008)中更改CMakeLists.txt文件,然后直接F7編譯工程,。如果你選擇后者,,你會發(fā)現(xiàn)如圖(5)所示的現(xiàn)象發(fā)生。

因為你改變了CMakeLists.txt的內(nèi)容,,工程的環(huán)境要重新構(gòu)建,、設(shè)置。所以你必須加載新的工程環(huán)境設(shè)置,。點Yes,然后點Reload,。重新加載設(shè)置過的工程環(huán)境。

另外一個經(jīng)??茨承┩瑔柕?,就是當(dāng)彈出圖(6)所示的界面時要怎么辦?能怎么辦,?界面上提示已經(jīng)灰常清楚了,,指定exe的路徑給它,然后點OK就可以了,;出現(xiàn)這種情況的原因是你把沒有生成exe可執(zhí)行文件的工程設(shè)為啟動工程了,,如圖(6)所示,你會發(fā)現(xiàn)ALL_BUILD這個工程名字是黑體顯示的,,表示它是啟動工程;或者你把生成exe可執(zhí)行文件的工程,,如這里的HelloCMake右擊->設(shè)置為啟動工程,,也不會出現(xiàn)如圖(6)所示的界面。

好,,這些比較瑣碎的東西介紹完,,我們一起來看看CMakeLists.txt里面的代碼表示什么意思,爭取每句代碼都作解釋,,如果有不對的地方,,一定要告訴我!


圖(5)

 圖(6)

把CMakeLists.txt里的內(nèi)容再羅列出來:

1. cmake_minimum_required(VERSION 2.6)

         2. project(HelloCmake)

         3. add_executable(HelloCMake hellocmake.cpp)

第1行,cmake_minimum_required(VERSION 2.6)這是對CMake版本的要求,,基本上每個CMakeLists.txt文件里都會有這句代碼,,cmake_minimum_required是cmake里的命令,可大寫小寫,。VERSION這個關(guān)鍵字必須是大寫,,而且不能省略;2.6就是CMake的版本號,,現(xiàn)在的版本是2.8.3,。

第2行,project(HelloCmake),,project也是CMake的命令,,里面的參數(shù)HelloCMake是你要生成的工程的名字,換句話說就是生成的***.sln或者***.dsw等工程項目文件的名字,。

第3行,,add_executable(HelloCMake hellocmake.cpp),add_executable同樣是CMake的命令,,鏈接有關(guān)的源文件,,然后生成exe可執(zhí)行文件,這是這個命令的作用,。第一個參數(shù)是生成的exe文件的文件名,,一般與project里的工程名一致,這樣編譯生成的文件就分別是HelloCMake.sln和HelloCMake.exe,,當(dāng)然也可以不一樣,。Add_executable()后面的是一個參數(shù)列表,可帶多個要編譯的文件名,,中間以空格或回車等隔開,,如可以加入:

add_executable(HelloCMake hellocmake.cpp hellocmake.h)

這樣就把CMake里最常用的三個命令介紹完了,分別是cmake_minimum_required; project; add_executable等,,關(guān)于這三個命令的完整參數(shù)列表可以參考http://www.網(wǎng)站上的東西,,也可以從http://vislabproject./svn/trunk/CMake/下載CMake入門的一些英文資料

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多