日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

cmake构建工具 初步01

發布時間:2023/11/30 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 cmake构建工具 初步01 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

記錄下cmake學習過程,以后還會補充

  • 單目錄單文件
    demo1 目錄下只有一個a1.cpp, 如下圖
  • [root@localhost demo1]# tree . ├── a1.cpp └── CMakeLists.txt

    編寫CMakeLists.txt

    1 CMAKE_MINIMUM_REQUIRED(VERSION 2.8.12)2 3 PROJECT(demo1)4 5 ADD_EXECUTABLE(demo1out a1.cpp)

    命令行執行 cmake CMakeLists.txt, 會形成

    CMakeCache.txt CMakeFiles cmake_install.cmake Makefile

    命令行執行make,就會編譯出可執行文件demo1out

  • 單目錄多文件
    目錄結構如圖:
  • [root@localhost demo2]# tree . ├── a1.cpp ├── CMakeLists.txt ├── p1.cpp └── p1.h

    編寫CMakeLists.txt,

    1 CMAKE_MINIMUM_REQUIRED(VERSION 2.8.12)2 3 PROJECT(demo2)4 #發現一個目錄下所有的源代碼文件并將列表存儲在一個變量中,把當前目錄下的所有源碼文件名賦給變量SOURCE_DIR_15 AUX_SOURCE_DIRECTORY(./ SOURCE_DIR_1) 6 7 ADD_EXECUTABLE(demo2out ${SOURCE_DIR_1})
  • 多目錄多文件
    a1.cpp 要使用 testlib目錄下的文件編譯成的靜態庫
  • [root@localhost demo3]# tree . ├── a1.cpp └── testlib├── p1.cpp└── p1.h

    先編寫子目錄testlib里面的CMakeLists.txt

    root@localhost demo3]# tree . ├── a1.cpp ├── CMakeLists.txt └── testlib├── CMakeLists.txt├── p1.cpp└── p1.h

    1)demo3/testlib/CMakeLists.txt

    1 CMAKE_MINIMUM_REQUIRED(VERSION 2.8.12)2 3 AUX_SOURCE_DIRECTORY(./ SOURCE_DIR_1)4 5 ADD_LIBRARY(plib ${SOURCE_DIR_1})#默認生成靜態庫吧

    2)demo3/CMakeLists.txt

    1 CMAKE_MINIMUM_REQUIRED(VERSION 2.8.12)2 3 PROJECT(demo3)4 5 ADD_SUBDIRECTORY(./testlib) #添加子目錄路徑6 INCLUDE_DIRECTORIES(./testlib) #添加頭文件路徑7 AUX_SOURCE_DIRECTORY(./ SOURCE_DIR)8 9 ADD_EXECUTABLE(demo3out ${SOURCE_DIR})10 11 TARGET_LINK_LIBRARIES(demo3out plib) #鏈接庫

    總結

    以上是生活随笔為你收集整理的cmake构建工具 初步01的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。