Conan error: Incompatible requirements obtained in different evaluations of 'requirements'

Conan error: Incompatible requirements obtained in different evaluations of 'requirements'

向我的 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, xz_utils/5.2.5, libjpeg/9d, jbig/20160605, zstd/1.4.8, libwebp/1.0.3]

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

存在版本冲突:

WARN: libtiff/4.1.0: requirement libwebp/1.1.0 overridden by leptonica/1.80.0 to libwebp/1.0.3

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

Conan 不会为您解决它,因为它可能会创建一个不同的行为协议 libwebp 版本。所以它提出:

ERROR: libtiff/4.1.0: Incompatible requirements obtained in different evaluations of 'requirements'

你必须决定你想要的版本,并明确地把它放在你的 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 因果报应所说:“显式优于隐式”。柯南遵循该规则。