Linux下CMake简明教程(四)不同目录下多个源文件
生活随笔
收集整理的這篇文章主要介紹了
Linux下CMake简明教程(四)不同目录下多个源文件
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
代碼在git
一般來說,當(dāng)程序文件比較多時(shí),我們會(huì)進(jìn)行分類管理,把代碼根據(jù)功能放在不同的目錄下,這樣方便查找。那么這種情況下如何編寫CMakeLists.txt呢?
我們把之前的源文件整理一下(新建2個(gè)目錄test_func和test_func1),整理好后整體文件結(jié)構(gòu)如下
. ├── 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在同一目錄下,內(nèi)容修改成如下所示,
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} )-
這里出現(xiàn)了一個(gè)新的命令:include_directories。該命令是用來向工程添加多個(gè)指定頭文件的搜索路徑,路徑之間用空格分隔。
-
因?yàn)閙ain.c里include了testFunc.h和testFunc1.h,如果沒有這個(gè)命令來指定頭文件所在位置,就會(huì)無法編譯。當(dāng)然,也可以在main.c里使用include來指定路徑,如下
#include “test_func/testFunc.h”
#include “test_func1/testFunc1.h”
總結(jié)
以上是生活随笔為你收集整理的Linux下CMake简明教程(四)不同目录下多个源文件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux下CMake简明教程(三)同一
- 下一篇: Linux下CMake简明教程(五)正规