SLAM高翔十四讲(二)第二讲

一、利用LInux命令编写一个c++程序

  1. ls:查看列表
  2. touch:创建文件
  3. vim:编辑文件
  4. 想要退出vim时,先按Esc,然后直接输入“ : ”就会在最下面显示出一行,vim开始进入命令模式(而不是write模式)参考这篇博客
  5. gedit:打开文件
  6. g++/gcc xxx.cpp:编译xxx.cpp文件,生成一个a.out
  7. g++/gcc xxx.cpp -o yyy:编译xxx.cpp文件,生成一个yyy.out
  8. ./a.out:执行a.out编译文件
    其他命令参考这篇博客

二、使用CMakeLists.txt

通过gedit CMakeLists.txt命令构建一个CMakeLists.txt文件,如下:

# 1.声明cmake最低版本
cmake_minimum_required(VERSION 2.8)
# 2.声明一个cmake工程
project(HelloWorld)
# 3.添加一个可执行程序 程序名 源代码文件
add_executable(helloWorld main.cpp)

终端输入如下:创建一个build文件夹用来存储cmake编译产生的文件

mkdir build
cd build
cmake ..
make
./helloworld

三、自定义库文件

  1. 编写一个libHelloSLAM.cpp的库文件
//这是一个库文件
#include <iostream>
using namespace std;

void printHello() {
  cout << "Hello SLAM" << endl;
}
  1. 头文件libHelloSLAM.h
#ifndef LIBHELLOSLAM_H_
#define LIBHELLOSLAM_H_
// 上面的宏定义是为了防止重复引用这个头文件而引起的重定义错误

// 打印一句hello的函数
void printHello();

#endif
  1. 在useHello.cpp使用你自定义的库函数:
#include "libHelloSLAM.h"

// 使用 libHelloSLAM.h 中的 printHello() 函数
int main(int argc, char **argv) {
  printHello();
  return 0;
}

  1. 在CMakeLists.txt文件编辑
# 1.声明要求的 cmake 最低版本
cmake_minimum_required(VERSION 2.8)
# 2.声明一个 cmake 工程
project(HelloSLAM)
# 3.设置编译模式
set(CMAKE_BUILD_TYPE "Debug")

# 4.添加hello库(静态库):每次被调用就会生成一个副本,后缀名.a
add_library(hello libHelloSLAM.cpp)
# 共享库:只有一个副本,,后缀名.so
add_library(hello_shared SHARED libHelloSLAM.cpp)

# 5.添加可执行程序调用hello库中函数
add_executable(useHello useHello.cpp)
# 6.将库文件(共享库)链接到可执行程序上
target_link_libraries(useHello hello_shared)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值