概述
A. 使用g++编译
用编辑器输入了helloSLAM.cpp的源代码,然后调用g++编译器对它进行编译,得到了可执行文件。g++默认把源文件编译成 a.out这个名字的程序。
步骤:vim 启用vim——填写源代码—— :w Filename 保存—— g++ Filename 编译 ——./ a.out 输出
B. 使用cmake进行编译
在一个cmake工程中,我们会使用cmake命令生成一个makefile文件;然后用make命令根据这个makefile文件的内容编译整个工程。
CMakelists.txt文件用于告诉cmake我们要对这个目录下的文件做什么事情。CMakelists.txt文件内容需要遵守cmake的语法。
该例子中演示可最基本的工程:指定一个工程名和一个可执行程序。
# 声明要求的cmake 最低版本
cmake_minimum_required ( VERSION 2.8 )
# 声明一个cmake工程
project( HelloSLAM )
#添加一个可执行程序
#语法: add_executable( 程序名 源代码文件 )
add_executable ( helloSLAM helloSLAM.cpp )
如果需要添加库,可以在CMakefiletxt 加上
add_library ( 程序名 源代码)
cmake——make之后 会得到一个叫做该程序名的库。 库分为静态库和共享库。如果需要得到共享库,则输入
add_library ( 程序名 SHARED 源代码)
静态库以.a结尾,共享库以 .so结尾。其区别在于 静态库每次被调用都会生成一个副本,而共享库则只有一个副本,更省空间。
库文件是一个压缩包,里面有编译好的二进制函数。为了使用这个库,我们需要提供一个头文件,说明这个库里都有什么。
所以只要拿到了头文件和库文件,就可以调用这个库了。
-------------------------------------------------
总结
1.首先 代码由源文件和库文件组成
2.带有main函数的源文件编译成可执行程序,其他的编译成库文件
3.如果可执行文件想调用库文件里的函数,需要参考该库提供的头文件,以明白调用的格式。同时,要把可执行文件链接到库文件(在CMakefile.txt里)
target_link_libraries( 程序名 库文件)
习题1
习题2
习题3
最后
以上就是傲娇航空为你收集整理的【SLAM十四讲】第二讲习题的全部内容,希望文章能够帮你解决【SLAM十四讲】第二讲习题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复