问题描述
我尝试创建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,配方中的版本也不是必需的。如果缺少任何必填属性(名称或版本),则可以通过命令行传递它们。