conan专题

Conan 笔记

Conan 笔记 起因打包项目 起因 根据conan官方的教程,在执行时 conan create . demo/testing 产生了疑问,好像并没有说明’conan create’是干什么的. 于是上网查阅得知: conan Export命令是构建之后通过export 命令导出模块到本地仓库,可以在本地为其他项目提供依赖. 也就是官方教程中的这两句: Copies (

conan入门(三十六):在set_version方法中从pom.xml中读取版本号实现动态版本定义

一般情况下,我们通过self.version字段定义conan 包的版本号如下: class PkgConan(ConanFile):name = "pkg"version = "1.7.3" 因为版本号是写死的,所以这种方式有局限性: 比如我的java项目中版本号是在pom.xml中定义的,c++项目是java项目的子项目,如果java项目版本号升级了,我每次发布java版本的时候都需要手

创建conan包-打包现有二进制文件

创建conan包-打包现有二进制文件 1 Packaging Existing Binaries1.1 Packaging Pre-built Binaries1.2 Downloading and Packaging Pre-built Binaries 本文是基于对conan官方文档Packaging Existing Binaries翻译而来, 更详细的信息可以去查阅con

conan 入门(三十四):conan 2.x实现对只有Makefile的项目(erpcgen)的封装示例

一些已有的较老旧的项目只有Makefile,一般在Linux下编译,windows下编译需要借助cygwin或msys2,对于这样的项目如何实现conanfile.py使用conan进行构建呢?本文以erpc/erpcgen为例,说明实现步骤。 eRPC (Embedded RPC是一个适用于嵌入式系统的开源RPC框架,erpc/erpcgen为其下的IDL编译器,编译基于Makefile.现在

创建conan包-不同/相同repo中的配方和来源

创建conan包-不同/相同repo中的配方和来源 1 Recipe and Sources in a Different Repo1.1 source()的方法1.2 使用scm 属性 2 Recipe and Sources in the Same Repo2.1 Exporting the Sources with the Recipe: exports_sources2.2 Capt

创建conan包-入门指南

创建conan包-入门指南 1 Getting started1.1 Important1.2 conan new1.3 分析conanfile.py1.4 test_package1.5 conan create1.6 验证conan包 本文是基于对conan官方文档Creating packages - Getting started翻译而来, 更详细的信息可以去查阅cona

使用conan包 - 调试软件包

使用conan包 - 调试软件包 主目录 conan Using packagesDebugging packages 本文是基于对conan官方文档Debugging packages的翻译而来, 更详细的信息可以去查阅conan官方文档。 This section shows how to setup your project and manage dependencies

使用conan包 - 安装依赖项

使用conan包 - 安装依赖项 主目录 conan Using packages1 Requires2 Optional user/channel3 Overriding requirements4 Generators5 Options 本文是基于对conan官方文档Installing dependencies的翻译而来, 更详细的信息可以去查阅conan官方文档。 Thi

conan入门(三十一):在命令行(shell)中从profile中读取配置参数

最近使用conan来执行本地或交叉编译时,我发现我需要知道当前profile定义的编译器的类型和版本以及平台,希望用profile中定义的os,arch,compier生成安装路径名如windows-msvc-x86_64,该怎么实现呢? conan profile show 基本的思路就是用 conan profile show命令获取profile中的配置参数,(参见 https://do

Conan C++ 包管理器

conan Getting started 背景介绍 Conan是一个分散的包管理器,具有客户端 - 服务器架构。这意味着客户端可以从不同的服务器(“远程”)获取软件包以及上传软件包,类似于git远程控制器的“git”推拉模型。 在较高的层面上,服务器只是包存储。他们不构建也不创建包。这些包由客户端创建,如果二进制文件是从源构建的,则该编译也由客户端应用程序完成。 JFrog Arti

【ubuntu】pip与conan安装下载(亲测有效)

目录 1、官网  2、通过命令下载依赖项setuptools 3、安装pip 4、安装conan包管理工具 1、官网 通过官网下载。 pip · PyPIThe PyPA recommended tool for installing Python packages.https://pypi.org/project/pip/#history  2、通过命令下载依赖项

conan入门(二十七):因profile [env]字段废弃导致的boost/1.81.0 在aarch64-linux-gnu下交叉编译失败

今天在尝试用conan 1.60.0使用aarch64-linux-gnu编译器交叉编译boost/1.81.0时报错了: conan install boost/1.81.0@ -pr:h aarch64-linux-gnu.jinja -pr:b default --build boost 输出如下: Configuration (profile_host):[settings]a

conan入门(二十八):解决conan 1.60.0下 arch64-linux-gnu交叉编译openssl/3.1.2报错问题

上一篇博客《conan入门(二十七):因profile [env]字段废弃导致的boost/1.81.0 在aarch64-linux-gnu下交叉编译失败》解决了conan 1.60.0交叉编译boost/1.80.1的问题后,我继续交叉编译openssl/3.1.2时又报错了 conan install openssl/3.1.2@ -pr:h aarch64-linux-gnu.jinja

conan 基本配置

环境配置 gcc cmake python 3.10 pip3 install conan 编辑conan.conf revisions_enabled = 1full_transitive_package_id = 1default_package_id_mode = full_package_mode 或者用 conan config set general.revis

conan入门(三):上传预编译的库(artifact)

conan 上传预编译的库(artifact) 我们经常需要从现有二进制文件创建包,比如第三方或供应商提供的C/C++库(只有include和lib),或在引入conan管理包之前手工编译编译好C/C++库。在这种情况下,我们并不需要conan从源代码编译,费时费事或根本不可能。所以以下情况我们可以考虑直接将本地已经编译好的二进制文件生成conan包: 当您无法从源代码构建包时(当只有预编译