【发布时间】:2020-01-27 19:37:30
【问题描述】:
我正在使用 Jetbrains CLion 2019.3、MinGW 8.1 以及 Conan C/C++ 包管理器 1.21.1。我正在刷新我对 C 的了解,并想了解像柯南这样的新工具。我的主要开发环境是Windows,但是这个项目是打算跨平台的;我也希望能够在 Linux/Unix 上构建和运行该应用程序。
由于我的应用程序需要使用HMACSHA1 计算签名,所以我想使用 OpenSSL 库,因此我将OpenSSL/1.1.1a@conan/stable 包添加到了我的conanfile.txt 文件的requires 部分,并且我还创建了一个柯南MinGW 的配置文件具有以下选项:
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 找到了关于Missing prebuilt package 错误的描述,但它没有多大帮助。
【问题讨论】:
标签: c gcc mingw cross-platform conan