chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

Linux中CMake的使用3-不同目錄多個(gè)源文件

碼農(nóng)愛(ài)學(xué)習(xí) ? 來(lái)源:碼農(nóng)愛(ài)學(xué)習(xí) ? 作者:碼農(nóng)愛(ài)學(xué)習(xí) ? 2022-09-21 08:49 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

上篇(Linux中CMake的使用2-同目錄下多個(gè)源文件)介紹了在同一目錄下有多個(gè)源文件時(shí)如何編寫CMakeLists.txt。

本篇繼續(xù)介紹不同目錄下有多個(gè)源文件時(shí)如何編寫CMakeLists.txt

1 有1個(gè)獨(dú)立文件夾

1.1 文件目錄結(jié)構(gòu)

先來(lái)看下面這種情況,文件目錄結(jié)構(gòu)如下,sum.c、sum.h和main.c的代碼內(nèi)容見(jiàn)前面的文章。

pYYBAGMpxg6AHXY7AACrXL8Iwb4843.png

1.2 編寫CMakeLists.txt

對(duì)于這種情況,CMakeLists.txt可以有不同的寫法:

寫法1

首先看第一種寫法,如下:

cmake_minimum_required (VERSION 2.8)

project (sum_test)

include_directories (func)

add_executable(sum_test main.c func/sum.c)

這里出現(xiàn)了1個(gè)新的命令:include_directories,用來(lái)指定頭文件的搜索路徑

寫法2

再來(lái)看第二種寫法,如下:

cmake_minimum_required (VERSION 2.8)

project (sum_test)

include_directories (func)

aux_source_directory (func SRC_LIST)

add_executable(sum_test main.c ${SRC_LIST})

可以使用aux_source_directory,將指定目錄下的源文件列表存放到變量

1.3 編譯測(cè)試

在當(dāng)前目錄執(zhí)行cmake指令:

cmake .

cmake后面的點(diǎn),用來(lái)告訴CMake工具在當(dāng)前目錄中搜尋CMakeLists.txt文件。

自動(dòng)生成makefile文件之后,再使用make指令編譯源碼:

make
poYBAGMpxhWAZ__WAAJAADxw9uw449.png

最后可以看到程序的運(yùn)行結(jié)果。

2 有多個(gè)獨(dú)立文件夾(情況1)

2.1 文件目錄結(jié)構(gòu)

再來(lái)看下面這種情況,文件目錄結(jié)構(gòu)如下,sum.c、sum.h、sub.c、sub.h和main.c的代碼內(nèi)容見(jiàn)前面的文章。

其中sum.c、sum.h、sub.c和sub.h放到func這個(gè)文件夾中:

poYBAGMpxhuALLX6AAC1ScxIdBY026.png

2.2 編寫CMakeLists.txt

注意CMakeLists.txt和之前的區(qū)別,其實(shí)它和上面的“寫法2”一樣:

cmake_minimum_required (VERSION 2.8)

project (sum_sub_test)

include_directories (func)

aux_source_directory (func SRC_LIST)

add_executable(sum_sub_test main.c ${SRC_LIST})

2.3 編譯測(cè)試

按照之前的編譯測(cè)試流程進(jìn)行編譯測(cè)試,結(jié)果如下:

pYYBAGMpxiCAKMKmAAKK0NUnPj0093.png

3 有多個(gè)獨(dú)立文件夾(情況2)

3.1 文件目錄結(jié)構(gòu)

再來(lái)看下面這種情況,文件目錄結(jié)構(gòu)如下,sum.c、sum.h、sub.c、sub.h和main.c的代碼內(nèi)容見(jiàn)前面的文章。

其中sum.c和sum.h放到sumfunc這個(gè)文件夾中,sub.c和sub.h放到subfunc這個(gè)文件夾中:

此次兩種文件分布在兩個(gè)文件夾中:

poYBAGMpxiaANyQWAADZyBwT-N0796.png

3.2 編寫CMakeLists.txt

注意CMakeLists.txt和之前的區(qū)別:

cmake_minimum_required (VERSION 2.8)

project (sum_sub_test)

include_directories (sumfunc subfunc)

aux_source_directory (sumfunc SRC_LIST1)
aux_source_directory (subfunc SRC_LIST2)

add_executable(sum_sub_test main.c ${SRC_LIST1} ${SRC_LIST2})

這里使用了兩個(gè)aux_source_directory,將兩個(gè)目錄下的源文件列表分別存放到不同的變量

3.3 編譯測(cè)試

按照之前的編譯測(cè)試流程進(jìn)行編譯測(cè)試,結(jié)果如下:

pYYBAGMpxiyAdQFyAAJeH9Y16vY931.png

4 總結(jié)

本篇介紹了不同目錄下有多個(gè)源文件時(shí)如何編寫CMakeLists.txt。

pYYBAGMpxjGAWM-fAAZch3FOWZo591.png

對(duì)于不同文件夾下的多個(gè)源文件,主要是使用include_directories來(lái)添加頭文件的搜索目錄

cmake_minimum_required (VERSION 2.8)

project (sum_test)

include_directories (func)

add_executable(sum_test main.c func/sum.c)

另外,仍然可以借助aux_source_directory把指定目錄下的所有源文件存列表存放到變量中:

cmake_minimum_required (VERSION 2.8)

project (sum_test)

include_directories (func)

aux_source_directory (func SRC_LIST)

add_executable(sum_test main.c ${SRC_LIST})

總的來(lái)說(shuō),一個(gè)新的知識(shí)點(diǎn)就是include_directories的使用。

審核編輯:湯梓紅

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

    關(guān)注

    87

    文章

    11496

    瀏覽量

    213254
  • 源文件
    +關(guān)注

    關(guān)注

    0

    文章

    30

    瀏覽量

    4764
  • CMake
    +關(guān)注

    關(guān)注

    0

    文章

    28

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

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

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

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

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

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

    使用的u-boot源碼路徑為:開發(fā)板資料盤(A 盤)\4_SourceCode\3_Embedded_Linux\資源文件\出廠鏡像相關(guān),在該目錄下有一個(gè)名為
    發(fā)表于 03-20 16:48

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

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

    DLP LightCrafter 6500&amp;9000-4.0.1 安裝后,對(duì)其安裝目錄下的Sources文件夾下的源文件用Qt編譯,出現(xiàn)上圖錯(cuò)誤是什么原因?

    DLP LightCrafter 6500&9000-4.0.1 安裝后,對(duì)其安裝目錄下的Sources文件夾下的源文件用Qt編譯,出現(xiàn)上圖錯(cuò)誤是什么原因?
    發(fā)表于 02-26 07:15

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

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

    飛凌嵌入式ElfBoard ELF 1板卡-內(nèi)核源代碼的目錄結(jié)構(gòu)和文件說(shuō)明

    Linux內(nèi)核目錄下有很多的文件夾和文件,很多文件夾和文件我們不需要關(guān)注,我們主要了解比較
    發(fā)表于 12-16 13:04

    Linux文件查找

    Linux文件查找 1.find查找概述 為什么要有文件查找,因?yàn)楹芏鄷r(shí)候我們可能會(huì)忘了某個(gè)文件所在的位置,此時(shí)就需要通過(guò)find來(lái)查找。 find命令可以根據(jù)不同的條件來(lái)進(jìn)行查找
    的頭像 發(fā)表于 12-03 17:09 ?681次閱讀

    Linux文件壓縮打包的各種姿勢(shì)

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

    Linux lsof命令的基本用法

    linux 系統(tǒng),一切皆文件。通過(guò)文件不僅僅可以訪問(wèn)常規(guī)數(shù)據(jù),還可以訪問(wèn)網(wǎng)絡(luò)連接和硬件。所以 lsof 命令不僅可以查看進(jìn)程打開的文件
    的頭像 發(fā)表于 10-23 11:52 ?1202次閱讀
    <b class='flag-5'>Linux</b> lsof命令的基本用法

    Linux開發(fā)怎么學(xué)?

    令是使用 Linux 的基礎(chǔ),包括文件操作、目錄管理、用戶管理、進(jìn)程管理、網(wǎng)絡(luò)管理等方面??梢酝ㄟ^(guò)閱讀相關(guān)的書籍、在線教程等方式學(xué)習(xí)。以下是常用的命令實(shí)例。 # 列出當(dāng)前目錄下的
    發(fā)表于 10-10 14:34

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

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

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

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

    【米爾NXP i.MX 93開發(fā)板試用評(píng)測(cè)】3、NXP的MCU工程目錄結(jié)構(gòu)和源碼分析

    環(huán)境無(wú)縫集成。 而NXP的項(xiàng)目工程,可以說(shuō)是CMake工程的優(yōu)秀示范。 目錄結(jié)構(gòu) 這種目錄結(jié)構(gòu)有助于提高軟件開發(fā)的效率和質(zhì)量,特別是在大型項(xiàng)目和團(tuán)隊(duì)合作的環(huán)境。通過(guò)合理的組織和模塊化
    發(fā)表于 09-21 21:11

    linux--sysfs文件系統(tǒng)

    sysfs文件系統(tǒng) sysfs,全稱為System Filesystem,是一個(gè)由Linux內(nèi)核實(shí)現(xiàn)的虛擬文件系統(tǒng)。它扮演著一個(gè)橋梁的角色,將內(nèi)核的設(shè)備和驅(qū)動(dòng)程序信息以
    的頭像 發(fā)表于 07-08 11:37 ?1585次閱讀
    <b class='flag-5'>linux</b>--sysfs<b class='flag-5'>文件</b>系統(tǒng)