无法从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,配方中的版本也不是必需的。如果缺少任何必填属性(名称或版本),则可以通过命令行传递它们。