gpt4 book ai didi

Conan 无法找到指定设置、选项和依赖项的某个包

转载 作者:行者123 更新时间:2023-11-30 14:32:10 25 4
gpt4 key购买 nike

我正在使用 Jetbrains CLion 2019.3、MinGW 8.1 以及 Conan C/C++ Package Manager 1.21.1< 开发一个小型 C 可执行项目.我正在刷新有关 C 的知识,并想了解像 Conan 这样的新工具。我的主要开发环境是Windows,但是这个项目是为了跨平台;我希望也能够在 Linux/Unix 上构建和运行该应用程序。

由于我的应用程序需要使用 HMACSHA1 计算签名,因此我想使用 OpenSSL 库,因此我将 OpenSSL/1.1.1a@conan/stable 包添加到我的 conanfile.txt 文件的 requires 部分,我还为 MinGW 创建了一个 Conan 配置文件,它具有以下选项:

toolchain=$MINGW64_PATH
target_host=x86_64-w64-mingw32
cc_compiler=gcc
cxx_compiler=g++

[env]
CONAN_CMAKE_FIND_ROOT_PATH=$toolchain
CHOST=$target_host
AR=$target_host-ar
AS=$target_host-as
RANLIB=$target_host-ranlib
CC=$target_host-$cc_compiler
CXX=$target_host-$cxx_compiler
STRIP=$target_host-strip
RC=$target_host-windres

[settings]
os_build=Windows
arch_build=x86_64

# We are cross-building to Windows
os=Windows
arch=x86_64
compiler=gcc

# Adjust to the gcc version of your MinGW package
compiler.version=8.1
compiler.libcxx=libstdc++11
build_type=Release

MINGW64_PATH 指向我的 MinGW 安装文件夹。

当运行conan install时,它提示缺少一个不存在的包(显然是OpenSSL的依赖包):

zlib/1.2.11@conan/stable: WARN: Can't find a 'zlib/1.2.11@conan/stable' package for the specified settings, options and dependencies:
- Settings: arch=x86_64, build_type=Release, compiler=gcc, compiler.version=8.1, os=Windows
- Options: minizip=False, shared=False
- Dependencies:
- Package ID: eb34f13b437ddfd63abb1f884c4b8886c48b74cd

ERROR: Missing prebuilt package for 'zlib/1.2.11@conan/stable'
Try to build it from sources with "--build zlib"
Or read "http://docs.conan.io/en/latest/faq/troubleshooting.html#error-missing-prebuilt-package"

由于我是柯南的菜鸟,所以我不知道如何解决这个问题。需要做什么来解决这个问题,我也可以自己解决这个问题,还是需要包作者的帮助?

我在 https://docs.conan.io/en/latest/faq/troubleshooting.html#error-missing-prebuilt-package 找到了缺少预构建包错误的描述,但并没有多大帮助。

最佳答案

so I added the OpenSSL/1.1.1a@conan/stable package to the requires

该软件包已过时,您可以在 Conan Community 上查看它存储库。您应该尝试 openssl/1.1.1a@,它由新的 Conan Center Index 维护。 .

conan install openssl/1.1.1d@

命名空间在哪里?已删除,查看more information about recipes .

Since I am a noob using Conan, I have no clue how I can fix this problem. What needs to be done to fix this issue, and also can I fix this on my own, or do I need help from the package author?

作为FAQ建议您自己构建,运行错误消息建议的命令:

conan install openssl/1.1.1a@ --build zlib

但我确信这还不够,您还需要构建 OpenSSL。因此,根据您的情况,最好的方法是:

conan install openssl/1.1.1a@ --build missing

现在,柯南将从源构建任何未在服务器端预先构建的内容。

总而言之,这不是一个错误,就像有东西坏了一样。

当您请求 OpenSSL 1.1.1a 时,Conan 在 Conan Center 上找到了配方。 ,其中解释了如何构建 OpenSSL,但是它没有按照您的设置和选项找到您的预构建包。

嗯,柯南中心索引中没有使用MingW,因为没有足够的需求,全部supported platforms and configurations已在 Wiki 中列出。但这个特定的配方应该支持 MingW,因为当它是 Conan 社区的一部分时,MingW 就出现在用于构建的包列表中。

我想说,你可以使用 1.1.1d,它比 1.1.1a 更新、更安全。

关于Conan 无法找到指定设置、选项和依赖项的某个包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59937771/

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