亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

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
通化市| 久治县| 凌源市| 柞水县| 汪清县| 临猗县| 左云县| 邯郸县| 比如县| 九龙县| 泰来县| 喀什市| 晋江市| 隆德县| 宁海县| 吴堡县| 章丘市| 石阡县| 大名县| 金华市| 无棣县| 嵩明县| 乌恰县| 应用必备| 滕州市| 龙山县| 琼海市| 溧阳市| 岳西县| 瑞金市| 莆田市| 葫芦岛市| 阳原县| 南部县| 宜章县| 怀宁县| 三河市| 镇原县| 时尚| 武城县| 凉城县|