【问题标题】:Cant create boost conan package from conan-center-index - "conanfile didn't specify version"无法从 conan-center-index 创建 boost conan 包 - “conanfile 未指定版本”
【发布时间】:2020-08-31 12:15:03
【问题描述】:

我尝试创建boost 库的conan 包。

我从https://github.com/conan-io/conan-center-index/tree/master/recipes/boost得到了食谱

当我执行命令时:

conan create . conan/stable

会出现下一个错误:

ERROR: conanfile didn't specify version

我明白了,配方中没有 version 成员,但我不明白在这种情况下如何手动指定它。并且conan create页面上的官方文档没有任何提示(

【问题讨论】:

    标签: conan


    【解决方案1】:

    配方中确实没有列出版本,但为什么呢?因为任何版本都重复使用相同的配方,所以柯南中心索引不需要为每个新版本复制相同的配方。

    Boost 支持的所有版本都在conandata.yml 中列出,这是一个包含下载链接和校验和的文件,根据版本。

    因此,要构建所需的版本,您必须使用类似的命令传递它。例如,构建 Boost 1.73:

    cd recipes/boost/all
    conan create . 1.73.0@
    

    请注意,我只传递了版本,而不是命名空间(用户名/频道),因为它是柯南中心索引的官方配方,任何其他配方都应包含命名空间以避免任何冲突。在这种情况下,您也可以根据需要使用命名空间:

    cd recipes/boost/all
    conan create . 1.73.0@hdnn/stable
    

    recipe 中的版本不是强制性的,即使没有 conandata.yml。当缺少任何强制属性(名称或版本)时,您可以通过命令行传递它们。

    【讨论】:

      猜你喜欢
      • 2018-12-31
      • 1970-01-01
      • 2022-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-27
      • 1970-01-01
      相关资源
      最近更新 更多