自学内容网 自学内容网

Linux端打包上传Conan包

Linux端打包上传Conan包

首先要查看已上传的Conan包,构建和已有Conan包类似的目录

lei@lei-VirtualBox:~/Documents/qmqtt$ tree
.
├── cmake
│   └── qmqtt
│       ├── qmqtt.cmake
│       ├── qmqttConfig.cmake
│       ├── qmqttConfigVersion.cmake
│       ├── qmqtt-release.cmake
│       ├── qmqttTargets.cmake
│       └── qmqttTargets-release.cmake
├── conanfile.py
├── include
│   ├── qmqtt_client.h
│   ├── qmqtt_frame.h
│   ├── qmqtt_global.h
│   ├── qmqtt.h
│   ├── qmqtt_message.h
│   ├── qmqtt_networkinterface.h
│   ├── qmqtt_routedmessage.h
│   ├── qmqtt_router.h
│   ├── qmqtt_routesubscription.h
│   ├── qmqtt_socketinterface.h
│   └── qmqtt_timerinterface.h
└── lib
    └── libqmqtt.a

4 directories, 19 files

然后分别执行以下指令

conan new qmqtt/1.0.5@shining3d/stable --bare

conan export-pkg . qmqtt/1.0.5@shining3d/stable -s compiler="gcc" -s compiler.version=12 -s build_type=Release

conan upload qmqtt/1.0.5@shining3d/stable -r shining3d --all
  1. conan new qmqtt/1.0.5@shining3d/stable --bare
  • 功能:这个命令用于创建一个新的 Conan 包的食谱文件(recipe)。
  • qmqtt/1.0.5@shining3d/stable:表示要创建的包的名称、版本、作者和稳定性通道。
    • qmqtt:包名,代表这是一个用于 MQTT 通信的 Qt 库(QMqtt)。
    • 1.0.5:表示包的版本号是 1.0.5。
    • shining3d:包的作者名称。
    • stable:稳定版本通道,表示该包处于稳定状态。
  • -bare:表示创建一个最小化的包模板,不会包含冗余的内容,只生成基本的 conanfile.py 文件

  1. conan export-pkg . qmqtt/1.0.5@shining3d/stable -s compiler="gcc" -s compiler.version=12 -s build_type=Release
  • 功能:用于将当前目录中的内容打包并导出到本地 Conan 库。这个命令将项目的二进制文件打包成一个可分发的 Conan 包。
  • .:表示在当前目录下查找项目文件,并根据 conanfile.py 来打包项目。
  • qmqtt/1.0.5@shining3d/stable:表示包的名称、版本、作者和稳定性,与前一个命令保持一致。
  • s compiler="gcc":指定编译器为 gcc(GNU Compiler Collection)。
  • s compiler.version=12:指定使用 GCC 版本 12 进行编译。
  • s build_type=Release:指定构建类型为 Release,表示生成的包是用于发布的优化版本,而不是调试版本(Debug)。

  1. conan upload qmqtt/1.0.5@shining3d/stable -r shining3d --all
  • 功能:将本地生成的 Conan 包上传到远程 Conan 服务器。
  • qmqtt/1.0.5@shining3d/stable:指要上传的包,包括其版本、作者和通道信息。
  • r shining3d:指定要上传到名为 shining3d 的远程 Conan 仓库(Repository)。
  • -all:上传与该包版本相关的所有二进制文件和配置信息。

总结

这三条命令的执行流程为:

  1. conan new:生成了一个 qmqtt 包的基本文件模板。
  2. conan export-pkg:根据当前项目的内容(以及编译器、版本等信息),打包并生成可分发的二进制包。
  3. conan upload:将生成的包上传到指定的远程仓库,方便其他开发者下载和使用。

原文地址:https://blog.csdn.net/Solititude/article/details/142824814

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!