中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

txt中的add_subdirectory如何使用

小樊
97
2024-09-07 05:33:15
欄目: 編程語言

add_subdirectory() 是 CMake 構建系統中的一個命令,用于將子目錄添加到構建過程中

以下是 add_subdirectory() 函數的基本用法:

add_subdirectory(source_dir [binary_dir] [EXCLUDE_FROM_ALL])
  • source_dir:子目錄的路徑,相對于當前 CMakeLists.txt 文件的位置。
  • binary_dir(可選):指定子目錄的構建輸出目錄。如果省略此參數,則將使用默認的構建目錄。
  • EXCLUDE_FROM_ALL(可選):如果指定此選項,則子目錄中的目標將不會自動包含在主項目的默認構建過程中。你需要顯式地指定依賴關系。

以下是一個簡單的示例,說明如何使用 add_subdirectory()

假設你有以下目錄結構:

my_project/
    CMakeLists.txt
    main.cpp
    lib1/
        CMakeLists.txt
        lib1.cpp
        lib1.h
    lib2/
        CMakeLists.txt
        lib2.cpp
        lib2.h

在這個例子中,my_project 包含兩個子目錄 lib1lib2,每個子目錄都有自己的 CMakeLists.txt 文件。

頂層 CMakeLists.txt 文件內容如下:

cmake_minimum_required(VERSION 3.0)
project(my_project)

add_subdirectory(lib1)
add_subdirectory(lib2)

add_executable(my_project main.cpp)
target_link_libraries(my_project PRIVATE lib1 lib2)

在這個例子中,我們首先調用 add_subdirectory() 函數,將 lib1lib2 子目錄添加到構建過程中。然后,我們創建一個名為 my_project 的可執行文件,并將其鏈接到 lib1lib2 庫。

lib1lib2CMakeLists.txt 文件分別如下:

lib1/CMakeLists.txt:

add_library(lib1 STATIC lib1.cpp)

lib2/CMakeLists.txt:

add_library(lib2 STATIC lib2.cpp)

在這些子目錄的 CMakeLists.txt 文件中,我們分別為 lib1lib2 創建靜態庫。這樣,當我們構建 my_project 時,它將自動構建這兩個庫,并將它們鏈接到可執行文件中。

0
泰顺县| 霍林郭勒市| 沛县| 黄冈市| 赣州市| 揭西县| 攀枝花市| 称多县| 汉中市| 北海市| 太原市| 怀集县| 敖汉旗| 鄂州市| 体育| 宜春市| 喜德县| 镇江市| 遂平县| 盐津县| 南和县| 长岛县| 白玉县| 玛沁县| 寻甸| 灵石县| 盐山县| 虎林市| 卓资县| 东城区| 汉源县| 彰化县| 尼木县| 吉首市| 霍邱县| 永济市| 夏河县| 孝昌县| 偏关县| 凤凰县| 张北县|