嵌入式系统与单片机|技术阅读
登录|注册

您现在的位置是:嵌入式系统与单片机 > 技术阅读 > C/C++包管理Conan教程【12】解决冲突

C/C++包管理Conan教程【12】解决冲突

在requirescon_flict项目中,有两个子文件夹,如果分别进行conan create操作创建lib a 和lib b,然后再在根目录执行conan install,是会报错的:

conan create lib_a user/testing
conan create lib_b user/testing
conan install .

lib a 和lib b分别依赖zlib的两个版本,这样就导致如果还有一个包同时依赖lib a 和lib b的时候,是无法成功的。

要解决这个问题,可以在conanfile.txt中显式设置依赖,例如在[requires]中增加

add zlib/1.2.11

然后再conan install:

就成功解决冲突了。

还有一种冲突,即:

你可以通过在conanfile.txt中修改[options]字段,在conanfile.py中修改options变量,或者在configure()函数中进行设置,这三种方案去解决。