91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

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
铜陵市| 灵寿县| 定南县| 道孚县| 新巴尔虎右旗| 民勤县| 托克逊县| 禄丰县| 肥城市| 盐池县| 湖北省| 沙河市| 秦安县| 正蓝旗| 武城县| 墨脱县| 长岭县| 织金县| 黄大仙区| 呼伦贝尔市| 巴南区| 金秀| 新营市| 保德县| 太原市| 霸州市| 平定县| 尼勒克县| 商都县| 永德县| 乐业县| 东乡县| 遂昌县| 景宁| 海口市| 莱西市| 抚宁县| 巩留县| 广水市| 乡宁县| 新余市|