记录学习《视觉slam十四讲》的过程,并在过程中重点动手进行实践,其中的小练习也都比较简单,应尽量理解每一步骤背后的深层含义,但也切忌眼高手低。
-
工程化的"Hello World"
由于本练习旨在cmake练习,就不放工程代码了,就是一个调用了库函数的hello
-
生成静态库与动态库,并安装在系统中(以使得本机的所有开发者都可以调用)
下面的cmakelists放在lib文件夹中,与库的头文件和源文件同级
cmake_minimum_required(VERSION 3.10) SET(LIBHELLO_SRC hello.cpp) ADD_LIBRARY(hello SHARED ${LIBHELLO_SRC}) //建立动态库 ADD_LIBRARY(hello_static STATIC ${LIBHELLO_SRC}) //建立静态库 GET_TARGET_PROPERTY(OUTPUT_VALUE hello_static OUTPUT_NAME) //希望动态库与静态库重名,本行代码与下一行同时作用从而输出hello的静态库 SET_TARGET_PROPERTIES(hello_static PROPERTIES OUTPUT_NAME "hello") //设置静态库的名字为hello SET_TARGET_PROPERTIES(hello PROPERTIES CLEAN_DIRECT_OUTPUT 1) SET_TARGET_PROPERTIES(hello_static PROPERTIES CLEAN_DIRECT_OUTPUT 1) //避免在建立库的时候自动删除同名库 INSTALL(TARGETS hello hello_static LIBRARY DESTINATION lib ARCHIVE DESTINATION lib) INSTALL(FILES hello.h DESTINATION include/hell
-