vcpkg-最简单的各版本pcl编译方法
1、对于那些寻求在项目中使用不同版本PCL(Point Cloud Library,点云库)的开发者,vcpkg的简单编译方法尤其值得一提。无需繁琐的下载和配置步骤,只需通过vcpkg的管理功能,即可轻松安装和管理所需的PCL版本,节省了大量的时间和精力。

2、编译方法二:使用本地依赖编译尽管vcpkg提供了便利的依赖管理功能,但其占用的空间较大,对于本地已有的库文件,可能会重复下载。因此,我尝试了另一种方法,即直接使用本地已有的库文件进行编译。这种方法虽然需要手动管理依赖,但能有效减少空间占用。
C++使用Protobuf教程&踩坑日记
1、首先,我安装了vcpkg作为依赖管理工具,从github.com/microsoft/vcpkg下载并解压后,在命令行中执行相应的安装命令来获取protobuf。接着,定义数据模型是关键步骤。我创建了一个.proto文件,用于描述数据结构,然后通过protoc工具将其编译为C++代码。文件存放在proto文件夹,编译后的生成文件则会放在src文件夹。
2、服务器配置在/etc/mosquitto/mosquitto.conf文件下,或在/etc/mosquitto/conf.d/目录下的port.conf文件中,可以自定义监听端口。配置密码文件使用命令 sudo mosquitto_passwd -c /etc/mosquitto/passwd username ,允许匿名访问可通过修改配置文件来实现。
3、CMake还支持集成开发环境(IDE)使用,强调逻辑结构的描述,而非特定命令和标志,以及库管理和单元测试的集成,如与moc和ProtoBuf工具的协作。在Linux环境下,推荐使用源码安装以获取最新版本。
4、首先解压protoc-0-win3zip,把protoc.exe文件放到path路径中,最简单的做法就是把这个文件拷贝到C:/WINDOWS目录下。解压protobuf-0.zip文件,将文件加压到C盘根目录,主文件位于C:/protobuf-0/protobuf-0目录下。
5、考虑到序列化submessage时的处理逻辑较为复杂,决定通过Protobuf原生的C++库实现一个Lua的接口,结合Lua的特性,简化序列化和反序列化流程。实际代码量控制在1000行以内,实现过程简单且易于维护。
CMake使用笔记(二):macOS下vscode环境搭建
1、在搭建Apple M1芯片下的CMake环境时,使用VSCode和gcc作为编译器可以避免一些冲突问题。首先,确保安装Homebrew(可参考ineo6的教程以获取arm64版本),然后使用arm64版本的brew安装gcc。通过验证arm64架构的gcc,可以确保正确的编译器已安装。CMake的安装相对简便。
2、工程CmakeLists.txt: 作为项目的编译入口,定义工程名称、构建规则、依赖和预定义宏等。在VScode工作空间,我通常将工程目录与公共组件分开,便于文件管理和代码查看。通过创建tasks.json文件或直接在终端使用gcc目录下的命令,可以执行构建任务,包括生成构建脚本和执行构建过程,如使用Ninja编译器的多线程构建。
3、在配置 launch.json 文件时,针对使用 MinGW 环境和 gdb 启动器进行调整。在 main.cpp 的指定位置设置断点,然后点击 F5 开始调试。这完成了一个使用 VS Code 和 g++ 进行多文件编译和调试的基本流程。为了进一步简化多文件编译的过程,可以使用 CMake。
4、配置 gcc 建立 C++ 开发环境 检查电脑中是否存在 gcc 编译器,可使用命令 `gcc --version` 确认。如未安装,可使用指定命令进行安装。配置 vscode 使用 gcc 进行编译,设置生成任务,自动创建 tasks.json 文件,之后执行 `运行生成任务` 以构建项目,完成编译。
5、DEBUG配置:在.vscode文件夹下的launch.json文件是VS Code的debug配置文件,只需要在program栏里写下你的可执行目标文件,然后按F5就可以打断点开始调试了。CMake最简指南与个人用模板:CMake和C++这两个工具都很强大,但作为项目管理工具,大多数人花太多时间在CMake上并不值得。
