gpt4 book ai didi

c++ - 如何在 `conanfile.txt` 中有条件地指定要求?

转载 作者:行者123 更新时间:2023-11-30 04:45:26 28 4
gpt4 key购买 nike

我必须处理一个跨平台应用程序,该应用程序在 Windows 上需要额外的第 3 方库,但在 Linux 上不需要(而且该库无论如何都不支持 Linux)。我已将库打包到 Conan 包中,仅支持 `os=Windows complier="Visual Studio"。现在,如果我把这个库作为

[requires]
Library/1.2.3@foo/bar

在我的 conanfile.txt 中,conan install 在 Linux 上逻辑上会失败并显示错误 Missing prebuilt package

那么有没有办法在conanfile.txt中有条件地指定需要的包呢?类似于 Library/1.2.3@foo/bar [os="Windows"]。我通读了柯南文档,但一无所获。

或者告诉conan install忽略错误?

或者我唯一的运气是在两个平台上使用两个不同的conanfile.txt

我不能使用 conanfile.py,因为构建过程不是由 Conan 管理的,只有依赖项。

最佳答案

我会说在你的情况下最好的选择是 conanfile.py,但由于你无法使用它,你将需要保留两个 conanfile.txt,每个平台一个。

不可能在conanfile.txt中添加条件,因为这会花费很大的开发精力,而conafile.py是python脚本,可以处理条件。

@nada 解决方案很好,你可以根据你的操作系统使用CMake调用柯南,也可以试试cmake-conan ,这听起来更适合您的特定场景。

关于c++ - 如何在 `conanfile.txt` 中有条件地指定要求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57273880/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com