日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux下CMake简明教程(四)不同目录下多个源文件

發布時間:2025/4/5 linux 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux下CMake简明教程(四)不同目录下多个源文件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

代碼在git

一般來說,當程序文件比較多時,我們會進行分類管理,把代碼根據功能放在不同的目錄下,這樣方便查找。那么這種情況下如何編寫CMakeLists.txt呢?
我們把之前的源文件整理一下(新建2個目錄test_func和test_func1),整理好后整體文件結構如下
. ├── build ├── CMakeLists.txt ├── main.c ├── temp │ └── CMakeLists1.txt ├── test_func │ ├── testFunc.c │ └── testFunc.h └── test_func1├── testFunc1.c└── testFunc1.h

把之前的testFunc.c和testFunc.h放到test_func目錄下,testFunc1.c和testFunc1.h則放到test_func1目錄下。

其中,CMakeLists.txt和main.c在同一目錄下,內容修改成如下所示,

cmake_minimum_required (VERSION 2.8)project (demo)include_directories (test_func test_func1)aux_source_directory (test_func SRC_LIST) aux_source_directory (test_func1 SRC_LIST1)add_executable (main main.c ${SRC_LIST} ${SRC_LIST1}) mkdir build cd build cmake .. make ./main
這種寫法也可以
cmake_minimum_required (VERSION 2.8)project (demo)include_directories (test_func test_func1)aux_source_directory (test_func SRC_LIST) aux_source_directory (test_func1 SRC_LIST)#add_executable (main main.c ${SRC_LIST} ${SRC_LIST1}) add_executable (main main.c ${SRC_LIST} )
  • 這里出現了一個新的命令:include_directories。該命令是用來向工程添加多個指定頭文件的搜索路徑,路徑之間用空格分隔。
  • 因為main.c里include了testFunc.h和testFunc1.h,如果沒有這個命令來指定頭文件所在位置,就會無法編譯。當然,也可以在main.c里使用include來指定路徑,如下
#include "test_func/testFunc.h" #include "test_func1/testFunc1.h"

#include “test_func/testFunc.h”
#include “test_func1/testFunc1.h”

總結

以上是生活随笔為你收集整理的Linux下CMake简明教程(四)不同目录下多个源文件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。