All the stories begin at installation

这篇具有很好参考价值的文章主要介绍了All the stories begin at installation。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Before installation, there are some key points about Conan:

  1. “Conan is a dependency and package manager for C and C++ languages.”
  2. “With full binary management, Conan can create and reuse any number of different binaries (for different configurations like architectures, compiler versions, etc.) for any number of different versions of a package, using exactly the same process in all platforms.”
  3. “As it is decentralized, it is easy to run your own server to host your own packages and binaries privately, without needing to share them.”
  4. On the server side: “The free JFrog Artifactory Community Edition (CE) is the recommended Conan server to host your own packages privately under your control.”
  5. On the client side: What one needs is a Conan client.
  6. Simply put, JFrog for server and Conan for client.
  7. “Conan is a decentralized package manager with a client-server architecture. This means that clients can fetch packages from, as well as upload packages to, different servers (“remotes”), similar to the “git” push-pull model to/from git remotes.”
  8. “At a high level, the servers are just storing packages. They do not build nor create the packages. The packages are created by the client, and if binaries are built from sources, that compilation is also done by the client application.”
    All the stories begin at installation,Conan Learning,python
  9. “The Conan client: this is a console/terminal command-line application, containing the heavy logic for package creation and consumption. Conan client has a local cache for package storage, and so it allows you to fully create and test packages offline. You can also work offline as long as no new packages are needed from remote servers.”
  10. “JFrog Artifactory Community Edition (CE) is the recommended Conan server to host your own packages privately under your control. It is a free community edition of JFrog Artifactory for Conan packages, including a WebUI, multiple auth protocols (LDAP), Virtual and Remote repositories to create advanced topologies, a Rest API, and generic repositories to host any artifact.”
  11. “ConanCenter is a central public repository where the community contributes packages for popular open-source libraries like Boost, Zlib, OpenSSL, Poco, etc.”
    All the stories begin at installation,Conan Learning,python
  12. The basic unit of conan project is a package. And a package is defined by a file “conanfile.py” that defines the package’s dependencies, sources, how to build the binaries from sources, etc. One package “conanfile.py” recipe can generate any arbitrary number of binaries, one for each different platform and configuration: operating system, architecture, compiler, build type, etc.
  13. “These binaries can be created and uploaded to a server with the same commands in all platforms, having a single source of truth for all packages and not requiring a different solution for every different operating system.”
  14. “Installation of packages from servers is also very efficient. Only the necessary binaries for the current platform and configuration are downloaded, not all of them. If the compatible binary is not available, the package can be built from sources in the client too.”

An example about conanfile.py

from conan import ConanFile
from conan.tools.cmake import CMakeToolchain, CMake, cmake_layout


class HelloConan(ConanFile):
    name = "hello"
    version = "0.1"

    # Optional metadata
    license = "<Put the package license here>"
    author = "<Put your name here> <And your email here>"
    url = "<Package recipe repository url here, for issues about the package>"
    description = "<Description of Hello here>"
    topics = ("<Put some tag here>", "<here>", "<and here>")

    # Binary configuration
    settings = "os", "compiler", "build_type", "arch"
    options = {"shared": [True, False], "fPIC": [True, False]}
    default_options = {"shared": False, "fPIC": True}

    # Sources are located in the same place as this recipe, copy them to the recipe
    exports_sources = "CMakeLists.txt", "src/*", "include/*"

    def config_options(self):
        if self.settings.os == "Windows":
            del self.options.fPIC

    def layout(self):
        cmake_layout(self)

    def generate(self):
        tc = CMakeToolchain(self)
        tc.generate()

    def build(self):
        cmake = CMake(self)
        cmake.configure()
        cmake.build()

    def package(self):
        cmake = CMake(self)
        cmake.install()

    def package_info(self):
        self.cpp_info.libs = ["hello"]

The directory structure of a Conan package

2024/01/20  21:52    <DIR>          .
2024/01/20  21:52    <DIR>          ..
2023/05/01  17:30               235 CMakeLists.txt
2023/05/01  17:30             1,307 conanfile.py
2023/05/01  16:55    <DIR>          include
2023/05/01  17:01    <DIR>          src
               2 个文件          1,542 字节
               4 个目录 66,603,655,168 可用字节

Installation of Conan

# pip install conan

To install Conan using pip, you need Python>=3.6 distribution installed on your machine.

Installation of JFrog

Download jfrog-artifactory-cpp-ce-7.55.10-linux.tar.gz from web site https://conan.io/downloads, and the Decompression is the Installation.文章来源地址https://www.toymoban.com/news/detail-828587.html

References

  1. Conan Documentation --Release 1.58.0

到了这里,关于All the stories begin at installation的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • CVPR 2022 | Segment Everything Everywhere All at Once

    论文:https://arxiv.org/abs/2112.10003 代码:https://github.com/timojl/clipseg 语雀文档:https://www.yuque.com/lart/papers/ma3gkwbb5ud1ewbw 目标任务:refering/zero-shot/one-shot segmentation 目标数据集: PhraseCut 本文基于CLIP强大的零样本的文本编码和图像编码能力, 设计了一个新的系统, 基于测试时任意的Prompt信息

    2024年02月09日
    浏览(31)
  • [论文阅读笔记26]Tracking Everything Everywhere All at Once

    论文地址: 论文 代码地址: 代码 这是一篇效果极好的像素级跟踪的文章, 发表在ICCV2023, 可以非常好的应对遮挡等情形, 其根本的方法在于将2D点投影到一个伪3D(quasi-3D)空间, 然后再映射回去, 就可以在其他帧中得到稳定跟踪. 这篇文章的方法不是很好理解, 代码也刚开源, 做一下

    2024年02月11日
    浏览(28)
  • Google Play的QUERY_ALL_PACKAGES或REQUEST_INSTALL_PACKAGES权限问题

    情况1:你的应用需要使用QUERY_ALL_PACKAGES权限,就按照Google Play政策要求上传这块功能视频了。 情况2:应用不需权限,就把自己AndroidManifest.xm中两个权限删除。 情况3:权限是第三方应用使用的,可以用tools:node=\\\"remove\\\"进行删除权限。             在自己的AndroidManifest.xm添加:

    2024年02月11日
    浏览(23)
  • 解决Qpid与RabbitMQ端口冲突问题(epmd reports: node rabbit’ not running at all),RabbitMQ 3.11修改AMQP端口

    本文以Windows为例讲解如何修改Rabbit MQ默认端口,从而解决Qpid与Rabbit MQ冲突的问题。 RabbitMQ的默认端口如下: 4369 (epmd), 25672 (Erlang distribution) 5672, 5671 (AMQP 0-9-1 without and with TLS) 15672 (if management plugin is enabled) 61613, 61614 (if STOMP is enabled) 1883, 8883 (if MQTT is enabled) 其中AMQP端口5672与

    2023年04月24日
    浏览(33)
  • 已解决ValueError: All arrays must be of the same length

    已解决(pandas创建DataFrame对象报错)ValueError: All arrays must be of the same length 粉丝群里面的一个粉丝用pandas创建DataFrame对象,但是发生了报错(跑来找我求助,然后顺利帮助他解决了,顺便记录一下希望可以帮助到更多遇到这个bug不会解决的小伙伴),报错信息和代码如下: 报

    2024年02月02日
    浏览(41)
  • You must install at least one postgresql-client-<version> package

    使用主机上的映射端口来连接到 PostgreSQL 数据库。例如,使用以下命令连接到数据库: 出现下面的问题: 分析: 如果您在运行 psql 命令时遇到错误消息 You must install at least one postgresql-client-version package ,这意味着您的系统缺少 PostgreSQL 客户端工具。 要解决这个问题,您需要

    2024年02月10日
    浏览(28)
  • 【Golang】排查 Build constraints exclude all the go files 的几个思路

    输出该问题时说明在 Go 语言的启动编译(Build)阶段,出现了编译问题,往往是 编译配置 的问题。可以通过以下思路去排查对应的错误。 (1)首先可以查看被排除的 Go 文件是否启用了 条件编译 ,通常的形式为在文件的首行添加(以 Linux 为例): // +build 会逐渐取代 //go

    2024年02月15日
    浏览(30)
  • 错误“Cannot read properties of undefined (reading ‘install‘) at Vue.use” 的解决方案

    项目引入并使用 vue-router 后,浏览器的控制台报如下错误: 错误原因:vue 版本和 vue-router 版本不匹配。         笔者项目是 vue2.7,安装 vue-router 时,直接运行了 npm install vue-router 命令,造成直接下载最新版 vue-router 4.1.6,而 4 以后的版本适用于 vue3.0 版本,用在 vue2.0+

    2024年02月11日
    浏览(34)
  • LeetCode 865. Smallest Subtree with all the Deepest Nodes【树,DFS,BFS,哈希表】1534

    本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,

    2024年02月09日
    浏览(30)
  • 完美解决:The specified Gradle installation directory

    问题场景:新版本Android Studio Chipmunk | 2021.2.1打开老项目,build时出现问题 The specified Gradle installation directory 完美解决: 1、打开顶部菜单:File - Setting - Build,Execution,Deployment - BuildTools - Gradle 找到Gradle projects 下面的Gradle - Use Gradle from - 下来选择修改为:\\\'gradle-wrapper.properties\\\' fi

    2024年02月16日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包