问题标签 [conan]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
459 浏览

version - 消费柯南最新版本

我们正在努力将柯南包管理集成到我们的管道中。

我们的柯南包存储在 Artifactory 中。

我们的版本号约定如下所示:

Minor.Major.Patch-BuildVerison

众所周知,要使用最新版本,需要使用

[> Minor.Major.Patch]

进入 conanfile.py。

我们能够从我们约定的版本中获取最新版本的唯一方法是这样编写:

[> Minor.Major.Patch-0]

但是我们的问题发生在以下示例中:

假设这些是我们尝试使用其最新版本的软件包的版本号:

1.2.3-1

1.2.3-2

1.2.3-3

如果我们写在我们的 conanfile.py

[>1.2.3-0]

我们会得到

1.2.3-3

也是。

但是如果我们上传版本

1.2.4-1

因此包(仅更新补丁号),我们将 conanfile.py 保持原样 - 我们仍然会得到

1.2.3-3

不是

1.2.4-1

作为接受。

请帮助我们了解获得我们想要的东西的最佳方式。

谢谢。

0 投票
2 回答
1151 浏览

c++ - Qt + conan = 使用空输出设备,无可用

我写我的宠物项目。起初,它是基于 cmake 的,我从控制台设置了 qt 库的路径,例如cmake -DPATH_TO_QT:STRING=/home/user/Qt/5.11.1/gcc_64/ ,变量PATH_TO_QT声明为set(PATH_TO_QT "/path/to/your/Qt/" CACHE STRING "Path to Qt") 使用此配置,我的项目运行良好。

但是,我想在我的项目 Conan Package Manager 中添加,我做到了。我的 conanfile.txt:

有用。该项目构建良好。但在我的项目中,我使用QSound

在运行时,当应用程序发出此通知时,我听不到它,在控制台中,我收到下一条消息:using null output device, none available

但在其他应用中,声音是存在的。

如何解决这个问题?

PS Kubuntu 18.04、GCC 7.3、Qt 5.11.1、柯南 1.9.1、cmake 3.10.2

PS2。配置摘要

0 投票
1 回答
283 浏览

android - Android Studio + conan 原生代码调试

我最近在 Android Studio 中从 ndk-build 切换到 cmake 构建系统(我使用的是 3.2.1 版),并且由于我的 C++ 代码依赖于一些第三方库,所以我决定切换到 conan C++包管理器来简化我的交叉构建。为了正确地做到这一点,我决定在一个小例子中尝试这个,以确保一切都按预期工作。

我按照Android Studio 集成页面的说明进行操作,一切都编译并运行良好,但我无法从 android studio 调试本机代码。我在 C++ 代码中的断点被忽略了。

当我删除 libpng 库和 CMakeLists.txt 中的所有代码依赖项时,注释掉

行我能够再次调试 C++ 代码。

我试图深入研究“conan_basic_setup”cmake 宏,但我迷路了。我什至尝试通过更改为交叉编译创建调试柯南配置文件

进入

在配置文件中,但没有结果。

有人有正确设置调试的收据吗?

0 投票
1 回答
318 浏览

nexus - Nexus3 Conan 登录错误:用户或密码错误。

基于https://github.com/sonatype-nexus-community/nexus-repository-conan/blob/master/docs/CONAN_USER_DOCUMENTATION.md设置 Nexus3 Conan 插件,但似乎无法向其推送包。

当我尝试登录时,我得到:

我的远程配置看起来像:

我可以使用该用户名和密码登录到 nexus 控制台。我似乎无法通过柯南登录。

0 投票
1 回答
292 浏览

cmake - Bincrafters 模块化柯南包和 cmake_find_package 生成器

我在使用 bincrafters 构建的 1.69.0 版本的 Boost conan 包时遇到了问题。我在使用 libcurl 和 zlib 等其他柯南软件包时没有问题。

我写了一个 conanfile.txt 像这样:

在 CMakeLists.txt 中,我试图像这样链接:

找到 Expat 和 Zlib 并顺利链接。但是,对于 boost* 库,我从 CMake 收到以下错误:

我缺少有关 bincrafters 模块化 Boost 包的内容吗?或者我可以不使用conan_find_package和他们一起使用发电机吗?

0 投票
1 回答
1494 浏览

cmake - 在柯南 cmake 配置中包含路径错误

conanfile.txt //我正在使用本地仓库

CMakeLists.txt

test_xml.cpp

我希望包括正确解决,但我得到以下错误

如果我在 CmakeLists.txt 中添加以下行,它会起作用

0 投票
0 回答
57 浏览

c++ - 有没有办法(重新)使用正在打包的项目中的“请求”?

我为我的库创建了一个柯南包,并注意到我需要requires为库和包配方复制列表。我想知道是否有更好的方法来做到这一点。

我正在为现有库构建柯南包。假设我有 libA 和 libB - 这取决于 libA。那是为了构建 libB,我需要构建并“安装”libA。所以我有 libA 的工匠柯南包,它是构建和安装的,因为它没有其他依赖项。我现在可以通过在 conanfile.txt 中指定 libB 依赖于 libA 来使用柯南构建 libB。但是当我为 libB 开发包时,我必须requiresconanfile.py.

以上是真实库https://github.com/abbyssoul/conan-libstyxe/blob/master/conanfile.pyhttps://github.com/abbyssoul/libstyxe/blob/master/conanfile 的简化版本。文本

柯南是否有可能弄清楚如果源包包含conanfile.[txt|py]然后这个定义requires字段。

如果需要工具来获取包build_requires,则应使用该工具。

0 投票
1 回答
106 浏览

jenkins - 带有 ConanClient 的 Jenkins Artifactory 插件:巨大的 BuildInfo 引用了 ConanClient 返回的不相关包

由于某种原因BuildInfo,该方法返回的对象ConanClient.run()包含对许多不相关的柯南包作为“模块”的引用。似乎这些包也是建立在同一个 Jenkins slave 上的,但当然是在不同的工作中。

这是一个最小的例子,导致巨大BuildInfo的被发布到 Artifactory:

所有其他之前的柯南命令(如conan install使用另一个 ConanClient 实例执行)以确保不会从这些操作中继承有关无关包的错误信息。

这是一个“控制实验”,导致BuildInfo没有任何关联的柯南包/“模块”被发布到 Artifactory。

来自其他构建的错误信息从何而来?

柯南 1.8.2、Windows 10、Jenkins Artifactory 插件 2.16.2

0 投票
2 回答
245 浏览

c++ - 将二进制文件添加到其他人的柯南食谱中

我正在使用给定的柯南包

和铿锵声(版本至少 6.0)。
虽然前两个包有 clang 6.0 的二进制文件,但 log4cplus 没有(最后一个是 clang 3.9)。我不喜欢在每个工作站上都​​需要手动构建这个包的想法。

如何使用 clang 6.0 上传本地构建二进制文件?
conan upload看起来很有希望,但它表明它将是新的包。
第二个问题 - 我不会以任何方式干扰包作者吗?

0 投票
1 回答
2319 浏览

python - 有没有办法将 python 依赖项添加到柯南包

我正在使用 C/C++ 和 Python 中的多个库和包设置一个项目。

我想为 C/C++ 包设置一个二进制存储库,为 python 包设置一个 python 包索引服务器。

我偶然发现了 conan 和 artefactory 来处理 C/C++ 库之间的依赖关系,但我找不到添加标准 python 包依赖关系的明确解决方案。

例如,我的项目“ A ”(C/C++)依赖于“ B ”(C/C++),其中包含使用“ C ”工具(Python)生成的代码。

我想将“ B ”的要求设置为“ C ”作为我的“ C ”工具包的特定分发的 pip 要求。

到目前为止,我看到的解决方案是:

  1. 为我的“ C ”工具创建一个柯南包并在“ B ”中添加要求
  2. 手动处理在“ B ”conanfile.py中安装的“ C ”包

我想避免为 python 包添加柯南包,因为 python 已经有一个包管理系统,我的包将在 python 索引服务器上可用。

我也会避免添加代码来处理 python 包依赖项。

有没有人知道柯南是否可以在一个简单的问题上做到这一点?

谢谢

亚历克斯