在学习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” 总是找不到路径
#include “test/helloslam.h”
添加库的路径 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)