通过 Conan 安装仅标头包时出错
Error installing header only package via conan
我有一个使用 CMake 构建的内部仅标头C++库。我按照 conan 关于如何打包仅标头库的说明进行操作,最终得到了以下 conanfile.py:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
Conan file for KVAPI.
https://docs.conan.io/en/latest/howtos/header_only.html
"""
from conans import ConanFile, CMake
class KVAPIConan(ConanFile):
name = "kvapi"
version = "0.1.0.0"
description = "Kiwi API library"
exports_sources = "include/*"
topics = ("kv", "kvapi", "C++")
no_copy_source = True
def package(self):
self.copy("*.hpp")
def package_id(self):
self.info.header_only()
我这样创建包:
> conan create . kvapi/0.1.0.0@kiwi/testing
> conan upload kvapi* -r genetec
并因此安装它:
> conan install kvapi/0.1.0.0@kiwi/testing
这会导致错误:
Configuration:
[settings]
arch=x86_64
arch_build=x86_64
build_type=Release
compiler=Visual Studio
compiler.runtime=MD
compiler.version=15
os=Windows
os_build=Windows
[options]
[build_requires]
[env]
kvapi/0.1.0.0@kiwi/testing: Retrieving from server 'genetec'
kvapi/0.1.0.0@kiwi/testing: Trying with 'genetec'...
Downloading conanmanifest.txt
[==================================================] 848B/638B
Downloading conanfile.py
[==================================================] 513B/456B
kvapi/0.1.0.0@kiwi/testing: Downloaded recipe revision 0
Installing package: kvapi/0.1.0.0@kiwi/testing
Requirements
kvapi/0.1.0.0@kiwi/testing from 'genetec' - Downloaded
Packages
kvapi/0.1.0.0@kiwi/testing:5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9 - Missing
kvapi/0.1.0.0@kiwi/testing: WARN: Can't find a 'kvapi/0.1.0.0@kiwi/testing' package for the specified settings, options and dependencies:
- Settings:
- Options:
- Dependencies:
- Package ID: 5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9
ERROR: Missing prebuilt package for 'kvapi/0.1.0.0@kiwi/testing'
Try to build it from sources with "--build kvapi"
Or read "http://docs.conan.io/en/latest/faq/troubleshooting.html#error-missing-prebuilt-package"
对于仅标头库,这是否是预期的?
上传 Conan 包时,当你要上传二进制包时,也需要明确。
该命令conan upload kvapi* -r genetec
仅上传配方,而不上传创建的包。要上传配方包和包含这些标头的二进制包,您需要添加参数--all
conan upload kvapi* -r genetec --all
参考: https://docs.conan.io/en/latest/uploading_packages/uploading_to_remotes.html
相关文章:
- 访问者访问变体并返回不同类型时出错
- 在Linux for Windows上编译C++代码时出错
- 读取文件的最后一行并输入到链接列表时出错
- 重载操作程序时出错>>用于类中的字符串 memebr
- 调用专用模板时出错"no matching function for call to [...]"
- C++-试图将函数指针推回到另一个CPP文件中的矢量时出错
- LINK 尝试使用 OpenSSL evp aes 256 c++ 时出错
- 在Google Kick start中提交时出错
- 在c++中访问int到类对象的映射时出错
- 分段错误当我试图运行程序时出错
- 使用dynamic_cast和构造函数时出错
- 用pybind11包装C++抽象类时出错
- 为x86而非x64编译时出错
- 使用 PYbombs 安装软件包 GNU 无线电时出错
- 在 R 中安装"RcppArmadillo"包时出错
- 使用RCPP包创建R包时出错:macOS中的dyn.load中出错
- 通过 Conan 安装仅标头包时出错
- 安装用C++编写的Python包(leven)时出错:g++无法识别的命令行选项--输出lib
- 使用RStudio在R包中编译Rcpp代码时出错
- 尝试展开模板参数包时出错