日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(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)注

    88

    文章

    11822

    瀏覽量

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

    關(guān)注

    0

    文章

    78

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    S32DS IDE:CMake項目,使用 PE 進(jìn)行 ELF 文件調(diào)試時,它沒有按預(yù)期工作,為什么?

    我正在使用 cmake nijia 而不是 S32DS IDE 來創(chuàng)建 ELF 文件。目標(biāo)開發(fā)板是S32K344,編譯器是GHS。 到目前為止,我已經(jīng)成功生成了 ELF 文件,但是在使用 PE 進(jìn)行
    發(fā)表于 04-16 11:14

    如何在 STM32Cube CMake 工程添加源文件

    STM32Cube for Visual Studio Code V3 版本(例如,如下圖所示的 Pre-release V3.4.11)打開,編輯,編譯以及調(diào)試。但是除了 STM32CubeMX 生成的文件,還有自己開發(fā)的源文件。例如,在根目錄下有個目錄名為 cust
    發(fā)表于 04-15 16:07 ?0次下載

    MIMX9331 SDK 缺少的文件怎么獲???

    失敗,因為缺少以下文件: 組件/uart/component_lpuart_adapter.mimx9331.cmake 設(shè)備/mimx9331/all_lib_device.cmake 設(shè)備
    發(fā)表于 04-02 06:39

    LAT1574_如何在 STM32Cube CMake 工程添加源文件

    自己開發(fā)的源文件。例如,在根目錄下有個目錄名為 custom,里面有一些文件,都需要編譯。那么,在沒有圖
    發(fā)表于 03-11 10:46 ?0次下載

    Linux文件刪除的底層原理和恢復(fù)方法

    rm -rf 大概是 Linux 世界里殺傷力最大的命令,沒有之一。手一抖、路徑一錯、通配符一飄,幾個 G 的數(shù)據(jù)就沒了。更要命的是 Linux 默認(rèn)沒有回收站機制,rm 刪掉的文件不會像 Windows 那樣安靜地躺在回收站里
    的頭像 發(fā)表于 02-11 09:14 ?951次閱讀

    深入剖析TS5A3159:1-Ω SPDT模擬開關(guān)的卓越性能與應(yīng)用指南

    深入剖析TS5A3159:1-Ω SPDT模擬開關(guān)的卓越性能與應(yīng)用指南 在電子工程師的日常設(shè)計,模擬開關(guān)是一種常見且關(guān)鍵的元件,它在信號切換、路由等方面發(fā)揮著重要作用。今天,我們將深入探討德州儀器
    的頭像 發(fā)表于 01-15 11:45 ?560次閱讀

    探索TS5A3359:1-Ω SP3T 雙向模擬開關(guān)的卓越性能與設(shè)計應(yīng)用

    )的TS5A3359,這是一款具有出色性能和廣泛應(yīng)用前景的1-Ω SP3T雙向模擬開關(guān)。 文件下載: ts5a3359.pdf 一、產(chǎn)品概述 TS5A3359是一款專為1.65 V至5.5 V單電源供電設(shè)計的雙向、單通道、單刀三擲(SP3T)模擬開關(guān)。它提供了信號切換解決
    的頭像 發(fā)表于 01-15 09:45 ?595次閱讀

    深入剖析TS5A23159:1-Ω 2-Channel SPDT模擬開關(guān)的卓越性能與應(yīng)用

    深入剖析TS5A23159:1-Ω 2-Channel SPDT模擬開關(guān)的卓越性能與應(yīng)用 作為電子工程師,在日常設(shè)計,我們常常需要尋找性能優(yōu)異、可靠性高的模擬開關(guān)來滿足各種電路設(shè)計需求。今天,就來
    的頭像 發(fā)表于 01-15 09:45 ?382次閱讀

    ESP32 編譯過程 bootloader 配置階段的 CMake 緩存沖突錯誤,記錄

    你遇到的是 ESP32 編譯過程 bootloader 配置階段的 CMake 緩存沖突錯誤,核心原因是系統(tǒng)混合了 ESP-IDF v5.5.1 和 v5.4.3 兩個版本的路徑,導(dǎo)致
    發(fā)表于 12-23 07:07

    linux的壓縮和解壓操作

    1、 壓縮/解壓操作 在開發(fā),很多時候會遇到某些文件要進(jìn)行壓縮的操作,比如文件較大不方便傳輸?shù)臅r候,可能會考慮對文件進(jìn)行壓縮,以減少
    發(fā)表于 12-23 06:56

    飛凌嵌入式ElfBoard-Linux系統(tǒng)文件分類

    從本質(zhì)上講,Linux系統(tǒng)就是由文件組成的,一切皆文件linux系統(tǒng)設(shè)計的核心理念,接下來介紹一下文件類型的種類:
    發(fā)表于 12-09 08:59

    【CPKCOR-RA8D11、VSCODE+CMAKE開發(fā)環(huán)境搭建

    利用Renesas Platform安裝 這是我安裝的工具,擴展會自動收集已安裝工具: 5、安裝VS CODE擴展CMAKE TOOLS 方便配置編譯CMAKE工程 二、從點燈開始 1、FSP
    發(fā)表于 10-09 16:17

    Linux三大主流文件系統(tǒng)解析

    還在為選擇哪個文件系統(tǒng)而糾結(jié)?作為一名摸爬滾打多年的運維老鳥,我將用最接地氣的方式,帶你徹底搞懂 Linux 三大主流文件系統(tǒng)的奧秘。
    的頭像 發(fā)表于 08-05 17:37 ?1774次閱讀

    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 ?1217次閱讀

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

    Directories添加頭文件路徑 對工程或者文件夾鼠標(biāo)右擊就可以添加文件或者.c文件管理文件等操作。 可以看出,Segger添加
    的頭像 發(fā)表于 06-27 14:48 ?1202次閱讀
    NCS怎么添加.c.h<b class='flag-5'>文件</b>到工程
    徐闻县| 巩义市| 和平区| 英吉沙县| 建昌县| 新和县| 盈江县| 定边县| 九江市| 扶风县| 宁国市| 黄冈市| 牡丹江市| 洛川县| 黄龙县| 任丘市| 河北省| 锡林郭勒盟| 涞水县| 依安县| 安丘市| 稷山县| 车险| 赞皇县| 山东省| 托克托县| 古浪县| 五莲县| 卓尼县| 长白| 鸡东县| 错那县| 汉寿县| 襄汾县| 宣城市| 鲜城| 两当县| 民县| 北海市| 安康市| 佳木斯市|