微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

柯南错误:在“要求”的不同评估中获得的不兼容要求

如何解决柯南错误:在“要求”的不同评估中获得的不兼容要求

问候我的 C++ 英雄,

我正在尝试使用 Conan 包管理器来构建我的 C++ 应用程序的依赖项(特别是 OpenCV 和 Tesseract 库)。我的 conanfile.txt 看起来像这样:

[requires]
opencv/4.5.1
tesseract/4.1.1

[generators]
cmake

当我在构建目录中运行 conan install ../src --build=missing 命令时,出现以下错误

leptonica/1.80.0: Downloaded recipe revision 0
WARN: libtiff/4.1.0: requirement libwebp/1.1.0 overridden by leptonica/1.80.0 to libwebp/1.0.3 
ERROR: libtiff/4.1.0: Incompatible requirements obtained in different evaluations of 'requirements'
    PrevIoUs requirements: [zlib/1.2.11,xz_utils/5.2.5,libjpeg/9d,jbig/20160605,zstd/1.4.8,libwebp/1.1.0]
    New requirements: [zlib/1.2.11,libwebp/1.0.3]

我不确定这个错误是什么意思,对我来说它是“无法搜索的”。我将非常感谢您的帮助。即使它是另一个 C++ 打包系统的推荐。 :)

解决方法

存在版本冲突:

警告:libtiff/4.1.0:要求 libwebp/1.1.0 被 leptonica/1.80.0 覆盖到 libwebp/1.0.3

libtiff 想要 libwebp/1.1.0,但 leptonica 要求 libwebp/1.0.3

柯南不会为您解决它,因为它可能会创建一个不同的行为符合 libwebp 版本。所以它提出:

错误:libtiff/4.1.0:在“需求”的不同评估中获得的需求不兼容

您必须决定您想要哪个版本,并将其明确地放在您的 conanfile.txt 中:

[requires]
opencv/4.5.1
tesseract/4.1.1
libwebp/1.1.0

[generators]
cmake

在这种情况下,我使用了 libwebp/1.1.0。柯南会警告我,但它会使用我的选择:

WARN: leptonica/1.80.0: requirement libwebp/1.0.3 overridden by tesseract/4.1.1 to libwebp/1.1.0 

正如 Python karma 所说:“显式优于隐式”。柯南遵循这个规则。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。