conan - 无法从 conan-center-index 创建 boost conan 包 - “conanfile 未指定版本”
问题描述
我尝试创建库conan
包boost
。
我从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
(
解决方案
的确,配方中没有列出该版本,但为什么呢?因为任何版本都重复使用相同的配方,所以柯南中心索引不需要为每个新版本复制相同的配方。
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
即使没有 conandata.yml,recipe 中的版本也不是强制性的。当缺少任何强制属性(名称或版本)时,您可以通过命令行传递它们。
推荐阅读
- c++ - Boost::UUID 设置具体值
- sql - 使用通配符从 bigquery 表中删除列名
- css - 如何与'writing-mode:sideways-lr'结合使用水平和垂直居中文本?
- android - Android Q Kotlin - API 29:检查图像是否存在
- node.js - 使用 xml2js 钻取命名空间
- python - 在 Python 中按 client_id 分组并计算归属事件
- python - 在 python 中使用 RGB 栅格识别植被 - 数组问题
- c# - 如何生成类似泛型类的可变参数?
- scala - Spark根据row_number的最大值和另一列的字符串值创建一个新的字符串列
- reactjs - 元素类型无效:需要一个字符串(对于内置组件)或一个类/函数(对于复合组件),但得到: