mac CLion cmake 呼叫自己定義的標頭檔案

Stdleohao發表於2020-10-05

呼叫標頭檔案失敗

在學習slam14講時,ch2、3在復現程式碼時,使用cmake時,自己沒有完全按照書上來,自作主張的多建立了資料夾,並且把要當做庫的.cpp檔案和.h檔案直接放入了資料夾下,main.cpp在外面,然後導致了找不到庫檔案。

CMakeLists.txt

cmake_minimum_required(VERSION 3.17)
project(Hello)

set(CMAKE_CXX_STANDARD 14)

#將這個檔案編寫成一個叫作"hello_shared"的庫
add_library(hello_shared  test/helloslam.cpp)

#新增一個可執行程式
add_executable(Hello main.cpp)
#要連結的庫檔案的名字 相當於gcc中的-l(小寫的l)引數
target_link_libraries(Hello hello_shared)

出現錯誤,#include “helloslam.h” 總是找不到路徑

解決方案1:

#include “test/helloslam.h”

解決方案2:

新增庫的路徑 include_directories($ {INC_DIR}) # 用${}引用變數
include_directories("./test/")

cmake_minimum_required(VERSION 3.17)
project(Hello)

set(CMAKE_CXX_STANDARD 14)

#將這個檔案編寫成一個叫作"hello_shared"的庫
add_library(hello_shared  test/helloslam.cpp)
#去哪裡找標頭檔案 相當於gcc/clang 中的-I(i的大寫字母)引數
include_directories("./test/")
#新增一個可執行程式
add_executable(Hello main.cpp)
#要連結的庫檔案的名字 相當於gcc中的-l(小寫的l)引數
target_link_libraries(Hello hello_shared)

相關文章