001.寫一個(gè)cmake版的hello word

網(wǎng)上的一些cmake教程都是一開始就要介紹一大堆cmake命令废麻,然后再介紹如何寫睬魂。像我這樣的急性子,還沒看完命令介紹贞盯,就想把頁面關(guān)了音念。所以這里我按我自己的學(xué)習(xí)過程,看能不能整理一個(gè)小教程躏敢。

關(guān)于cmake是啥我就不介紹了闷愤,能在網(wǎng)上搜索cmake的一般都大概知道它是干啥的,今天的文章就來寫一個(gè)cmake版的hello world件余。

首先我們準(zhǔn)備基本的開發(fā)環(huán)境(假定你用的是windows系統(tǒng)):

  1. 安裝msys2讥脐,http://www.msys2.org/
  2. 安裝必要的開發(fā)工具
  pacman -S gcc
  pacman -S cmake

PS:因?yàn)槲覀円獙W(xué)習(xí)的是開源工具,在windows系統(tǒng)下想把開源世界里的工具用好蛾扇,最好用我給你準(zhǔn)備的這個(gè)環(huán)境攘烛。雖然cmake也支持VS,但我不太推薦使用镀首,沒有原因坟漱。

假設(shè)我們已經(jīng)有了一個(gè)main.c,現(xiàn)在想把它編成一個(gè)可執(zhí)行程序更哄,我們看看這個(gè)cmake怎么寫芋齿。

開始寫cmake的hello world:

  1. 先在你的main.c目錄下新建一個(gè)CMakeLists.txt文件(文件的名字大小寫無所謂的腥寇,不過一般用cmake的項(xiàng)目都是這樣寫的)。
  2. 打開這個(gè)文件觅捆,輸入:
add_executable(myapp
    main.c)
  1. 打開msys2赦役,并切到你的程序目錄下,執(zhí)行:
cmake .
cmake --build .
  1. 不出意外的話栅炒,你會(huì)編出來一個(gè)myapp.exe來掂摔。

這里咱們就用到一個(gè)cmake的命令:

  • add_executable 編譯一個(gè)可執(zhí)行的程序。一般的用法就是咱們寫的這樣赢赊,第一個(gè)是要編譯出來的可執(zhí)行程序的名字乙漓,后面跟著所有源文件,如果你有2個(gè)以上的源文件释移,可以寫成:
add_executable(myapp
    other.c
    main.c)

編譯完成后叭披,你會(huì)看到你的根目錄下生成了一大堆亂七八糟的東西,一般的項(xiàng)目都會(huì)將這些生成的東西單獨(dú)放在一個(gè)文件夾里玩讳,所以我們可以把上面的第三步改成這樣:

mkdir build
cd build
cmake ..
cmake --build .

這樣所有生成的文件就都放在build目錄下了涩蜘,你自己的目錄則是非常的干凈了。

done.

PS 附贈(zèng)一個(gè)同樣的Makefile熏纯,可以自己對(duì)比一下:

myapp: main.c
  gcc main.c -o myapp
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末同诫,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子豆巨,更是在濱河造成了極大的恐慌剩辟,老刑警劉巖,帶你破解...
    沈念sama閱讀 210,978評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件往扔,死亡現(xiàn)場離奇詭異,居然都是意外死亡熊户,警方通過查閱死者的電腦和手機(jī)萍膛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來嚷堡,“玉大人蝗罗,你說我怎么就攤上這事◎蚪洌” “怎么了串塑?”我有些...
    開封第一講書人閱讀 156,623評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長北苟。 經(jīng)常有香客問我桩匪,道長,這世上最難降的妖魔是什么友鼻? 我笑而不...
    開封第一講書人閱讀 56,324評(píng)論 1 282
  • 正文 為了忘掉前任傻昙,我火速辦了婚禮闺骚,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘妆档。我一直安慰自己僻爽,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,390評(píng)論 5 384
  • 文/花漫 我一把揭開白布贾惦。 她就那樣靜靜地躺著胸梆,像睡著了一般。 火紅的嫁衣襯著肌膚如雪须板。 梳的紋絲不亂的頭發(fā)上碰镜,一...
    開封第一講書人閱讀 49,741評(píng)論 1 289
  • 那天,我揣著相機(jī)與錄音逼纸,去河邊找鬼洋措。 笑死,一個(gè)胖子當(dāng)著我的面吹牛杰刽,可吹牛的內(nèi)容都是我干的菠发。 我是一名探鬼主播,決...
    沈念sama閱讀 38,892評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼贺嫂,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼滓鸠!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起第喳,我...
    開封第一講書人閱讀 37,655評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤糜俗,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后曲饱,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體悠抹,經(jīng)...
    沈念sama閱讀 44,104評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評(píng)論 2 325
  • 正文 我和宋清朗相戀三年扩淀,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了楔敌。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,569評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡驻谆,死狀恐怖卵凑,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情胜臊,我是刑警寧澤勺卢,帶...
    沈念sama閱讀 34,254評(píng)論 4 328
  • 正文 年R本政府宣布,位于F島的核電站象对,受9級(jí)特大地震影響黑忱,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,834評(píng)論 3 312
  • 文/蒙蒙 一杨何、第九天 我趴在偏房一處隱蔽的房頂上張望酱塔。 院中可真熱鬧,春花似錦危虱、人聲如沸羊娃。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蕊玷。三九已至,卻和暖如春弥雹,著一層夾襖步出監(jiān)牢的瞬間垃帅,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評(píng)論 1 264
  • 我被黑心中介騙來泰國打工剪勿, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留贸诚,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,260評(píng)論 2 360
  • 正文 我出身青樓厕吉,卻偏偏與公主長得像酱固,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子头朱,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,446評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容