问题描述
我的包包含多个库(“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.libs
和 self.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"]