ginan入门初探

ginan入门初探

  • [1 依赖项安装](#1 依赖项安装)
  • [2 编译](#2 编译)
  • [3 跑一个测试样例](#3 跑一个测试样例)

环境:Ubuntu 24.04 Linux 6.14.11

使用gcc 14.2编译

原项目地址:ginan原始仓库

我学习的项目地址:https://github.com/SupremeLyre/ginan

1 依赖项安装

首先参照scripts/installation/ubuntu22.sh内apt下载的列表,缺啥补啥。

然后按照文档里的指示,安装mongocxx-3.7.0

mongocxx的中文文档:https://www.mongodb.com/zh-cn/docs/languages/cpp/cpp-driver/current/get-started/

bash 复制代码
curl -OL https://github.com/mongodb/mongo-cxx-driver/releases/download/r3.7.0/mongo-cxx-driver-r3.7.0.tar.gz
tar -zxvf mongo-cxx-driver-r3.7.0.tar.gz
cd mongo-cxx-driver-r3.7.0/build
cmake ..                                \
    -DCMAKE_BUILD_TYPE=Release          \
    -DCMAKE_CXX_STANDARD=17
cmake --build .
sudo cmake --build . --target install

还需要安装mongodb,默认的配置文件都会把数据写进数据库里。

参考文档:https://www.mongodb.com/zh-cn/docs/v8.0/tutorial/install-mongodb-on-ubuntu/

2 编译

这个版本的mongocxx默认会装在build/install/中,直接在ginan/src/CMakeLists.txt中配置mongocxx_DIRbson_DIR

cmake 复制代码
set(mongocxx_DIR /home/supremelyre/deps/mongo-cxx-driver-r3.7.0/build/install/lib/cmake/mongocxx-3.7.0)
set(bsoncxx_DIR  /home/supremelyre/deps/mongo-cxx-driver-r3.7.0/build/install/lib/cmake/bsoncxx-3.7.0)

此时mongoRead.cpp有报错,让万能的copilot帮忙改了下。

这里可能大部分碰不到,多核编译时内存消耗很大,使用-j24时直接把32G内存撑爆了......

只用16个核就可以了,速度也不慢。

未完待续......

3 跑一个测试样例

以PPP定位为例,在exampleConfigs中,有很多个yaml文件,而且有peadataproducts三个链接,编译过了之后pea就链接到这里了,分别进入dataproducts,执行下载数据的脚本,我一直是用了点方法下载的,不知道正常能不能下。

其默认的ppp_example.yaml用到了mongodb,先把mongodb服务启动一下,

bash 复制代码
sudo systemctl start mongod.service

status内显示active则已经启动。

直接在exampleConfigs中执行

bash 复制代码
./pea -y ./ppp_example.yaml

即可算出ALIC站的位置。

相关推荐
默默开发7 小时前
完整版:本地电脑 + WiFi 搭建 AI 自动炒股 + 自我学习系统
人工智能·学习·电脑
for_ever_love__7 小时前
Objective-C学习 NSSet 和 NSMutableSet 功能详解
开发语言·学习·ios·objective-c
sdm0704277 小时前
yum和开发工具vim/gcc
linux·服务器·centos
如意.75913 小时前
【Linux开发工具实战】Git、GDB与CGDB从入门到精通
linux·运维·git
Thera77713 小时前
C++ 高性能时间轮定时器:从单例设计到 Linux timerfd 深度优化
linux·开发语言·c++
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ15 小时前
Linux 查询某进程文件所在路径 命令
linux·运维·服务器
盐水冰15 小时前
【烘焙坊项目】后端搭建(12) - 订单状态定时处理,来单提醒和顾客催单
java·后端·学习
Hello小赵15 小时前
视频压缩编码学习(一)—— 基础知识大集合
学习
腾阳15 小时前
99%的人忽视了这一点:活着本身就是人生的意义,别让抑郁和内耗成为你的枷锁!
经验分享·程序人生·职场和发展·跳槽·学习方法·媒体
似水明俊德16 小时前
02-C#.Net-反射-学习笔记
开发语言·笔记·学习·c#·.net