CMake學習 一 多個原始檔和目錄

2021-08-28 02:40:35 字數 1101 閱讀 4516

這裡只是我記錄和整理一下,原文請點這裡

./demo2

|+--- main.cc

|+--- mathfunctions.cc

|+--- mathfunctions.h

編寫cmakelists.txt

# cmake 最低版本號要求

cmake_minimun_version(version 2.8)

# 專案資訊

project(demo2)

# 查詢當前目錄下的所有原始檔

# 並將名稱儲存到 dir_srcs 變數

aux_source_directory(. dir_srcs)

# 指定生成目標

add_executable(demo2 $)

./demo3

|+--- main.cc

|+--- math/

|+--- mathfunctions.cc

|+--- mathfunctions.h

要寫兩個cmakelists.txt

math目錄下

aux_source_directory(. dir_lib_srcs)

# 生成鏈結庫

add_library (mathfunctions $)

主目錄下:

# cmake 最低版本號要求

cmake_minimum_required (version 2.8)

# 專案資訊

project (demo3)

# 查詢當前目錄下的所有原始檔

# 並將名稱儲存到 dir_srcs 變數

aux_source_directory(. dir_srcs)

# 新增 math 子目錄

add_subdirectory(math)

# 指定生成目標

add_executable(demo main.cc)

# 新增鏈結庫

target_link_libraries(demo mathfunctions)

cmake 同一目錄下多個原始檔

接下來進入稍微複雜的例子 在同乙個目錄下有多個原始檔。在之前的目錄下新增2個檔案,testfunc.c和testfunc.h。新增完後整體檔案結構如下 testfunc.c內容如下 testfunc.c include include testfunc.h void func int data te...

CMAKE學習 編譯多個檔案 多個目錄

大型工程會有很多檔案,包括類的實現和定義,各種不同的模組交叉在一起,我們怎麼用cmake方便的編譯呢?例如有這麼乙個工程 我們現在想要編譯的話,如果只選擇了main.cpp,則會提示 未定義的引用 因為我們標頭檔案和實現分離,但我們只包含了標頭檔案,所以是一定找不到實現的。我們這時候就要把所有原始檔...

將多個原始檔編譯成乙個ko

有三個檔案,分別是proc rw.c test.c和test.h,現在把這三個檔案編譯成proc.ko 1 proc rw.c include include include include copy to from user include test.h 在str中儲存使用者態write到檔案的字...