Cmake學習筆記(2)CMakeLists.txt編寫規則

一、創建項目

在這裏插入圖片描述

  1. bin 用來存放可執行的二進制;
  2. include/myslam 存放 slam 模塊的頭文件,主要是.h。這種做法的理由是,當你把包
    含目錄設到 include 時,在引用自己的頭文件時,需要寫 include ”myslam/xxx.h”,
    這樣不容易和別的庫混淆。
  3. src 存放源代碼文件,主要是 cpp;
  4. test 存放測試用的文件,也是 cpp;
  5. lib 存放編譯好的庫文件;
  6. config 存放配置文件;
  7. cmake_modules 第三方庫的 cmake 文件,在使用 g2o 之類的庫中會用到它。

二、 利用以下圖片進行講解

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

用SET來設置.exe可執行文件和共享庫的輸出路徑
用INCLUDE_DIRECTORIES()包含include文件加下的頭文件
用ADD_SUBDIRECTORY()包含src文件夾下的所有source文件
cmake_modules 第三方庫的 cmake 文件,在使用 g2o 之類的庫中會用到它。
config 存放配置文件;

對於那些我們通過下載並安裝到我們電腦上的庫,如OpenCV, PCL,g2o,eigen3,我們在用這些庫之前需要分別用find_package()和include_directories()來找到並將他們的頭文件包含到工程中來,最後通過target_link_libraries()來將這些庫連接到我們的可執行文件中去,因爲這些可執行文件的生成需要用到這些庫。

而對於那些我們自己編寫的庫也就是一些我們自己編寫的函數interface 包括.h文件和.cpp文件,我們則只需要用add_library()將他們添加到工程中來,如果這些庫的生成也需要用到其他的一些庫,那麼我麼仍然需要用target_link_libraries()將所用到的庫鏈接進來。但是不需要用find_package()和include_directories()了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章