色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Linux中CMake的使用1-單個源文件

碼農(nóng)愛學(xué)習(xí) ? 來源:碼農(nóng)愛學(xué)習(xí) ? 作者:碼農(nóng)愛學(xué)習(xí) ? 2022-09-18 17:56 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1 引言

linux中進(jìn)行C/C++開發(fā),一般都是先用編輯器寫好代碼,然后使用gcc工具來編譯程序。

文件數(shù)量不多的工程,可以直接敲gcc命令進(jìn)行編譯。對于文件較多的工程,就要使用Makefile來管理代碼的編譯了。

而手動編寫Makefile其實也是具有一定的難度的,更方便的方式是使用更易編寫CMake來自動生成Makefile。

2 Linux中安裝CMake

這里插一句,在Window系統(tǒng)中,許多人也用過CMake,它可以配合集成開發(fā)環(huán)境如Visual Studio,通過圖形化的操作界面,操作CMake圖形界面進(jìn)行代碼的編譯。

本篇介紹的,在Linux中使用CMake,還用不到圖形界面,仍然是文本編輯的方式使用CMake。

CMake在Linux的安裝,直接使用命令安裝即可:

sudo apt install cmake

安裝完成之后可以查看cmake的版本,我用的是3.10.2

poYBAGMm6bqADuutAABQhSE5U8o325.png

3 編譯單個文件的CMake基礎(chǔ)示例

3.1 編寫C源文件

首先寫一個最簡單的hello word程序,hello.c:

#include 

int main(void)
{
	printf("Hello World\n");
	return 0;
}

3.2 編寫CMakeLists.txt

然后在相同目錄下編寫CMakeLists.txt:

cmake_minimum_required (VERSION 2.8)

project (hello)

add_executable(hello hello.c)

這是一個最基礎(chǔ)的CMake使用模板,這3行的含義如下:

第一行:要求cmake的最低版本為2.8

第二行:工程名

第三行:生成的可執(zhí)行文件名為hello,使用的源文件為hello.c

注:以上3條,add_executable起主要作用,前兩條去掉也可以運行

3.3 執(zhí)行cmake指令生成Makefile

然后輸入以下命令運行cmake,從而幫我們自動生成makefile文件:

cmake .

這個“點”表示是當(dāng)前目錄搜索源文件。

cmake指令的執(zhí)行結(jié)果如下:

pYYBAGMm6dCASh17AAHJTPu5pv4743.png

可以看下CMake生成的makefile文件,相比較自己手寫的makefile,這個自動生成的makefile,內(nèi)容很多:

poYBAGMm6deAUviJAAFHqpXaAPg931.png

3.4 執(zhí)行make指令編譯代碼

makefile文件產(chǎn)生之后,就可以使用make指令來編譯源代碼了:

make

執(zhí)行make指令之后,可以看到生成了可執(zhí)行文件hello,運行這個hello文件,就可以看到程序的輸出了:

pYYBAGMm6d6AEe4tAAFv5vfyFgU223.png

4 總結(jié)

本篇介紹了Liunx中如何使用CMake來生成makefile,進(jìn)行進(jìn)行源程序的編譯。

將上述的CMake編譯單個源文件的使用操作總結(jié)為一張圖:

pYYBAGMm6eSAc8vCAAC7UozHIZM464.png

編寫CMake主要就是編寫CMakeLists.txt,基礎(chǔ)模板為:

cmake_minimum_required (VERSION 2.8)

project (hello)

add_executable(hello hello.c)

其中最主要的一句就是:

add_executable(hello hello.c)




審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11519

    瀏覽量

    213997
  • gcc編譯器
    +關(guān)注

    關(guān)注

    0

    文章

    78

    瀏覽量

    3767
收藏 0人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    SEGGER工具鏈集成到CMake和VS Code了

    SEGGER公司已將其嵌入式開發(fā)工具鏈集成到了廣泛使用的CMake構(gòu)建配置工具,這意味著基于Visual Studio Code(VS Code)代碼編輯器的應(yīng)用開發(fā)可以方便的使用SEGGER工具實現(xiàn)了。
    的頭像 發(fā)表于 07-23 15:06 ?200次閱讀

    NCS怎么添加.c.h文件到工程

    Directories添加頭文件路徑 對工程或者文件夾鼠標(biāo)右擊就可以添加文件或者.c文件管理文件等操作。 可以看出,Segger添加
    的頭像 發(fā)表于 06-27 14:48 ?256次閱讀
    NCS怎么添加.c.h<b class='flag-5'>文件</b>到工程

    支持48位尋址!華為開源文件系統(tǒng)EROFS跨入大模型訓(xùn)練

    的要求。 ? 最近,開源文件系統(tǒng)EROFS在即將到來的Linux 6.15內(nèi)核周期中進(jìn)行擴展,以處理更大規(guī)模的存儲系統(tǒng)。此次改進(jìn)旨在使EROFS更適配AI訓(xùn)練場景及其他大規(guī)模數(shù)據(jù)歸檔需求。 ? 在Linux 6.15合并窗口開啟
    發(fā)表于 03-27 01:22 ?803次閱讀

    從零開始馴服Linux(一):ZYNQ-Linux啟動文件構(gòu)建全解析

    定位問題并優(yōu)化代碼。本教程我們就一起來看一下,如何基于正點原子提供的出廠相關(guān)源代碼,制作ZYNQ開發(fā)板的啟動文件,并成功運行Linux系統(tǒng)。 1.1制作前準(zhǔn)備工作1)、一款ZYNQ開發(fā)板:本次以領(lǐng)航者
    發(fā)表于 03-20 16:48

    使用STM32CubeMX生成CMake工程的FLASH.ld被更改怎么解決?

    使用STM32CubeMX生成CMake工程之后,對STM32xxxx_FLASH.ld進(jìn)行了修改。然后再次使用STM32CubeMX對工程進(jìn)行修改的時候,STM32xxxx_FLASH.ld文件匯總被修改的部分會被恢復(fù)原狀。請問各位有沒有好的辦法能夠解決這個問題,煩請指
    發(fā)表于 03-10 06:52

    為什么無法在OpenVINO? 2021.3源中使用CMAKE編譯ONNX模型?

    :50:10:嚴(yán)重錯誤:onnx/onnx-ml.pb.h:無此類文件或目錄#include“onnx/onnx-ml.pb.h” 使用 CMAKE* 編譯命令: cmake
    發(fā)表于 03-05 08:29

    Linux的用戶與創(chuàng)建

    Linux的用戶與創(chuàng)建 用戶的類型 超級管理用戶: 權(quán)限最高的用戶(uid:0) #uid:是用戶的身份證號,Linux系統(tǒng)只認(rèn)uid 普通用戶: 權(quán)限受限的用戶(uid:1000-60000
    的頭像 發(fā)表于 12-20 14:24 ?758次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>中</b>的用戶與創(chuàng)建

    Linux文件查找

    Linux文件查找 1.find查找概述 為什么要有文件查找,因為很多時候我們可能會忘了某個文件所在的位置,此時就需要通過find來查找。
    的頭像 發(fā)表于 12-03 17:09 ?755次閱讀

    Linux文件壓縮打包的各種姿勢

    1.文件打包與壓縮 1.什么是文件壓縮? 將多個文件或目錄合并成為一個特殊的文件。比如: 搬家…
    的頭像 發(fā)表于 12-02 09:25 ?633次閱讀

    Jtti:Linux虛擬文件系統(tǒng)和容器化的關(guān)系

    Linux,虛擬文件系統(tǒng)(VFS)和容器化技術(shù)之間有密切的關(guān)系。容器化是指通過使用容器來運行應(yīng)用程序,而容器本質(zhì)上是在宿主機上運行的獨立進(jìn)程,它們通常共享宿主機的操作系統(tǒng)內(nèi)核和部分文件
    的頭像 發(fā)表于 11-27 15:38 ?499次閱讀

    使用lsof實現(xiàn)對linux文件的誤刪除恢復(fù)練習(xí)

    本文記錄使用lsof實現(xiàn)對linux文件的誤刪除恢復(fù)練習(xí)。題目如下: 1.確保當(dāng)前nginx進(jìn)程運行 2.刪除日志文件,rm -f /va
    的頭像 發(fā)表于 11-24 11:14 ?645次閱讀
    使用lsof實現(xiàn)對<b class='flag-5'>linux</b><b class='flag-5'>文件</b>的誤刪除恢復(fù)練習(xí)

    Linux文件系統(tǒng)的掛載過程

    Linux文件系統(tǒng)(rootfs)是Linux系統(tǒng)中所有其他文件系統(tǒng)和目錄的起點,它是內(nèi)核啟動時掛載的第一個文件系統(tǒng)。
    的頭像 發(fā)表于 10-05 16:50 ?989次閱讀

    如何構(gòu)建Linux文件系統(tǒng)

    構(gòu)建Linux文件系統(tǒng)是一個涉及多個步驟和概念的過程,它對于Linux系統(tǒng)的啟動和運行至關(guān)重要。
    的頭像 發(fā)表于 10-05 16:47 ?712次閱讀

    如何更改Linux文件系統(tǒng)終端顯示顏色

    自己制作的簡單 Linux 文件系統(tǒng),你會發(fā)現(xiàn)終端顯示為黑白色,很不好看
    的頭像 發(fā)表于 08-12 17:29 ?1279次閱讀
    如何更改<b class='flag-5'>Linux</b><b class='flag-5'>文件</b>系統(tǒng)終端顯示顏色

    Linuxcut命令的實用示例

    Linux command cut 用于文本處理。您可以使用此命令通過選擇列從文件中提取部分文本。
    的頭像 發(fā)表于 08-05 15:14 ?725次閱讀
    主站蜘蛛池模板: 中文字AV字幕在线观看 | 国产久久精品热99看 | 韩国免费啪啪漫画无遮拦健身教练 | 精品久久久噜噜噜久久久app | 成人精品视频在线观看 | 久久精品亚洲热综合一本 | 内射少妇36P亚洲区 内射少妇36P九色 | 一本色道久久综合亚洲精品蜜桃冫 | 国产色综合色产在线视频 | 中文字幕A片视频一区二区 中文字幕AV在线一二三区 | 久久香蕉国产线看观看 | 国产精品久久久久久人妻香蕉 | 翁用力的抽插 | 国产免费69成人精品视频 | 最近日本MV字幕免费观看在线 | 亚洲高清中文字幕免费 | 好姑娘BD高清在线观看免费 | 男人扒开添女人屁股 | 亚洲男人片片在线观看 | 青娱乐国产精品视频 | 日本特交大片免费观看 | 被室友C哭调教双性 | 亚洲精品国产熟女久久久 | 国产高清视频在线播放www色 | 爽死你个放荡粗暴小淫货漫画 | 夜色爽爽爽久久精品日韩 | 久久香蕉国产线看观看首页 | 奶水太多h室友 | 国产精品毛片在线视频 | 日韩人妻无码专区一本二本 | 亚洲国产剧情中文视频在线 | 色婷婷国产精品视频一区二区 | 亚洲欭美日韩颜射在线二 | av天堂网2017avtt| 国产久青青青青在线观看 | 男女久久久国产一区二区三区 | 小小水蜜桃免费影院 | 世界第一黄暴漫画家 | 竹菊影视一区二区三区 | 国产av免费观看日本 | 无人区尖叫之夜美女姐姐视频 |

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學(xué)習(xí)
    • 獲取您個性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品