阅读《视觉slam十四讲》,留点记录,参考价值不大,自己写着看,为写论文留点素材~
主要参考https://blog.csdn.net/qq_32618327/category_9357175.html?utm_source=ffzl_BWzd 感谢这位博主,写的很详细了。
之后补充
在/home下新建一个文件夹Test用来存放测试程序。在/home/Test中新建一个文件helloSLAM.cc,输入如下内容
#include <iostream>
using namespace std;
int main(int argc,char** agrv){
cout<<"hello slam"<<endl;
return 0;
}
g++ helloSLAM.cc #将helloSLAM.cc编译成可执行文件
生成a.out文件,在终端进入文件夹目录后,输入如下指令运行程序
./a.out #运行程序
在/home/Test中新建CMakeList.txt文件,输入
# 声明要求的 cmake 最低版本
cmake_minimum_required( VERSION 2.8 )
# 声明一个 cmake 工程
project( HelloSLAM )
# 添加一个可执行程序
# 语法:add_executable( 程序名 源代码文件 )
add_executable( helloSLAM helloSLAM.cpp )
为了方便,新建build文件夹用于存放编译生成的中间文件
mkdir build #新建build文件夹
cd build #进入文件夹
cmake .. #编译
make
./helloSLAM #运行程序
在Test文件夹中新建一个libhelloSLAM.cc文件
#include <iostream>
using namespace std;
void printHello()
{
cout << "Hello SLAM" << endl;
}
在CMakeList.txt中添加
# 添加一个库
add_library( hello libHelloSLAM.cpp )
编译工程(同上2),此时build文件夹中出现一个libhello.a的文件
在 Linux 中,库文件分成两种:
若要生成共享库,则在CMakeList.txt文件中添加如下命令
# 添加共享库
add_library( hello_shared SHARED libHelloSLAM.cpp )
编译后,在build文件夹中得到libhello_shared.so文件
编写头文件告诉使用者库文件的内容,就可以调用这个库了
在Test文件夹中创建libhelloSLAM.h文件:
#ifndef LIBHELLOSLAM_H_
#define LIBHELLOSLAM_H_
// 上面的宏定义是为了防止重复引用这个头文件而引起的重定义错误
void printHello();
#endif
编写可执行文件usehello.cc,调用printHello()函数
#include "libhelloSLAM.h"
int main( int argc, char** argv )
{
// 使用 libHelloSLAM.h 中的 printHello() 函数
printHello();
return 0;
}
在CMakeList.txt中添加一个可执行程序的生成命令,链接到刚才使用的库上
# 添加一个可执行程序h
add_executable( usehello usehello.cpp )
# 将库文件链接到可执行程序上
target_link_libraries( usehello hello_shared )
hh
文章浏览阅读7.1k次。 有CUE文件,就比没有简单多了. 1. 用monkey把多个分轨APE文件解压缩成wav格式.2. 修改原cue文件内容,把对应的ape全改成wav3. 用虚拟光驱载入这个cue文件.4. 用EAC抓取此虚拟CD. 生成一个cue及一个ape总文件. _多个cue合并
文章浏览阅读8w次,点赞339次,收藏2.4k次。Linux期末考试题库选择题在创建Linux分区时,一定要创建( D )两个分区A. FAT/NTFS B. FAT/SWAP C. NTFS/SWAP D.SWAP/根分区在Red Hat Linux 9 中,系统默认的(A)用户对整个系统拥有完全的控制权。A. root B. guest C. administrator D.supervistor.当登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么( B )A. NID B. PID _linux期末考试题库
文章浏览阅读2w次,点赞30次,收藏143次。引子笔者因项目需求,需要做Fortran77代码的MPI并行,因此在 WIN10 下安装了 VS2017 和 Intel Parallel Studio XE 2018 Update 3 Cluster Edition for Windows(以下简称IVF2018Cluster) ,并做相应配置,最终以MPI并行的Hello World程序单机环境运行验证。IVF2018Cluster 版本..._ivf 2018
文章浏览阅读759次。编译器优化代码的时候, 并不是所有的代码都可以优化的。 有下面两种情况,不能优化。 1. Memory aliasing2. function call 例子11 void twiddle1(int *xp, int *yp)2 {3 *xp += *yp;4 *xp += *yp;5 }67 _capability andlimitation
文章浏览阅读1.9k次。安装mysql后本地链接可以,远程无法连接。1进入mysql2切换mysql3查看root信息最后发现原因是root用户的权限设置是localhost即只允许本地连接。1更新用户表2刷新权限之后再查看发现root用户的权限已经是 % 了,代表所有访问权限。之后再连接就可以连接了。..._mysql远程连接报10061
文章浏览阅读5k次。在VS2019下选择安装MSVC v140 生成工具(VS2015的生成工具还是要安装一下的,比较省事。)安装Windows 8.1 SDK(需要这个SDK,否则要改一堆东西吧。)安装cmake,最新版即可。打开VS2015 x64 native cmd设置环境变量set path=c:\Program Files (x86)\Microsoft Visual Studio\2019\..._vs 需要安装caffe
文章浏览阅读6.2k次。2012-01-05 22:02 by keepfool, 4835 阅读, 37 评论, 收藏, 编辑前言 数据显示的方式可以通过很多控件来实现,例如服务端的原生GridView,第三方控件ComponentArt、Telerik等,客户端_repeatitems属性
文章浏览阅读1.3w次,点赞7次,收藏26次。oracel创建uuid为主键的表时可以直接指定default uuid();但是mysql不支持,可以通过触发器实现。下面是创建一个产品表的sql语句。CREATE TABLE `product` ( `id` varchar(32) NOT NULL, `productNum` varchar(50) NOT NULL, `productName` varchar(50) DEF..._mysql创建某个表时给主键定义uuid
文章浏览阅读4k次,点赞6次,收藏14次。ENVI-met学习博客(一):df-envimet插件插件贡献者:安东内洛·迪·努齐奥(Antonello Di Nunzio)Antonello的githubdf-envimet插件介绍df-envimet(Dragonfly Envimet)代码将Ladybug,Dragonfly和Gismo连接到Envimet,以进行城市小气候分析。它可以创建Envimet 3D模型(INX),基本仿真文件,并读取建筑物和网格中几乎所有的结果。这个插件需要运行在Rhino和Grasshopper之上。它可_envi-met教程 csdn
文章浏览阅读180次。G350是一款高度集成的2.4GHz无线收发芯片,旨在为各种应用提供低成本、高性能的无线通信解决方案。该芯片通过降低功耗,在保持寄存器值条件下,实现最低电流为5μA,从而显著提高了电池寿命。G350支持BLE广播收发,广泛用于BLE电子标签、无线遥控、无线键盘鼠标、无线组网、智能家居、工业和商用近距离通信等领域。总之,G350是一款性能优越、功耗低、功能丰富的2.4GHz无线收发芯片,适用于广泛的应用领域,为物联网和无线通信领域的设备提供了稳定、高效的无线通信能力。_2.4g无线通讯芯片
文章浏览阅读8.1k次。内容简介SQL语法简洁,使用方式灵活,功能强大,已经成为当今程序员不可或缺的技能。本书是深受世界各地读者欢迎的SQL经典畅销书,内容丰富,文字简洁明快,针对Oracle、SQL Server、MySQL、DB2、PostgreSQL、SQLite等各种主流数据库提供了大量简明的实例。与其他同类图书不同,它没有过多阐述数据库基础理论,而是专门针对一线软件开发人员,直接从SQL SELECT开始,讲述...
文章浏览阅读2.2k次。需求背景:目前路由器的配置界面是通过输入网关IP来访问,市面上其他的路由器可以通过域名来访问,例如腾达路由器的配置界面地址 routendawifi.com。所以我们也希望支持域名访问路由器的配置界面。如在浏览器中输入www.9344base.cn 就可以访问路由器界面。实现原理:一次正常的域名访问流程如下:(1) 客户端向DNS服务器发送域名解析请求,该请求会先发到路由器。(2) 路由器收到DNS请求后会对其进行转发,发给外网的DNS服务器。(3) 外网的DNS服务器收到请求后,进行解析,之_用域名访问路由器 原理