Linux下CMake简明教程(四)不同目录下多个源文件
生活随笔
收集整理的這篇文章主要介紹了
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”
總結
以上是生活随笔為你收集整理的Linux下CMake简明教程(四)不同目录下多个源文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux下CMake简明教程(三)同一
- 下一篇: Linux下CMake简明教程(五)正规