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

如何在Conan包中定义组件

如何解决如何在Conan包中定义组件

我的包包含多个库(“a”和“b”),我尝试定义单独的组件。像这样

    def package_info(self):
      self.cpp_info.components["CA"].libs = ["a"]
      self.cpp_info.components["CB"].libs = ["b"]

没有什么特别的,根据文档,我相信。但是当我创建包时,柯南说“ConanException: MyTest/0.1 package_info(): self.cpp_info.components 不能与 self.cpp_info 全局值同时使用”

我不明白。这是什么意思?我做错了什么?

解决方法

你的例子是正确的,但你的食谱是混合的,没有按照你的例子。

您不能同时使用 self.cpp_info.libsself.cpp_info.components

关于 cpp-info 的文档有警告。

因此,您可以使用:

def package_info(self):
    self.cpp_info.libs = ["foo"]

def package_info(self):
    self.cpp_info.components["a"].libs = ["foo"]

但不混合:

def package_info(self):
    self.cpp_info.libs = ["bar"]
    self.cpp_info.components["a"].libs = ["foo"]

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