如何解决柯南错误:在“要求”的不同评估中获得的不兼容要求
问候我的 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 举报,一经查实,本站将立刻删除。