问题标签 [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 投票
0 回答
38 浏览

c++ - 使用柯南和 Cmake 对 Boost 存档的未定义引用

首先,我在根目录下使用以下命令和文件设置我的项目:

柯南文件.txt

CmakeList.txt

在我尝试使用make. 这是我的 main.cpp

编译时,我得到一个未定义的引用:

我不知道这个错误的来源.. 编译器?图书馆链接?这很奇怪,因为我可以使用 boost 的其他功能,它不仅仅适用于 boost 序列化......

/!\这不是重复的,目的是了解柯南为什么不链接Boost.Serialization,应该链接。

0 投票
1 回答
1121 浏览

qt - CMake & QT5 & Conan // CMAKE_AUTOUIC 不生成ui头文件

我试过这个线程中给出的解决方案:CMake & QT5 - QT5_WRAP_UI not generate ui header files but nothing changes。

这是我的第一个 CMakeLists.txt (在项目的根目录,它调用了第二个)

第二个是:

我的 main.cpp 得到了#include "ui_mainwindow.h" ,这是错误输出:

有任何想法吗?我尝试将 set(CMAKE_AUTOUIC ON) 放在我的 CMaleLists.txt 的不同位置,但看起来没有任何变化(项目文件夹中没有创建 ui_mainwindow.h)

PS:我正在使用多平台二进制管理器 CONAN 来获取 Qt(但是使用没有 .ui 文件的 Qt 可以正常工作)

0 投票
1 回答
924 浏览

c++ - 如何从目标触发 CMake 重新配置?

我有以下设置:

在 CMake 之前运行一个conan命令,生成 conanbuildinfo.cmake。这包含稍后在编译期间使用的包含路径等。如果我更改 conanfile,我想再次触发 conan 并从生成的 ninja build 重新运行 CMake。我有一个可以调用柯南的脚本,它会正确更新所有内容。但是,这发生在运行 CMake 之后,即使更改了 conanbuildinfo,CMake 也不会再次运行。这会导致忍者“看不到”依赖图中的更改,因此它不会重建它必须重建的所有内容。这意味着我必须运行ninja两次才能更新所有内容。我目前触发重新配置的方式是这样的:

运行此脚本后有没有办法触发重新配置?

我尝试使用以下内容但没有成功:

  • CMAKE_CONFIGURE_DEPENDS
  • 从 reconfigure.py 脚本运行 cmake
  • 从 reconfigure.py 脚本中触摸主​​ CMakeLists.txt
  • 使用 execute_process 运行脚本
0 投票
1 回答
1120 浏览

c++ - 使用 CURL 上传构建

我一直在尝试找到一种使用 CURL 将构建上传到工件的方法。我知道我们可以轻松地发送包,但我找不到关于发送将在此处登陆的构建的信息:

Artifactory 构建浏览器

谢谢 !

0 投票
1 回答
309 浏览

version - 柯南自动增量数据包版本

我开始使用柯南来处理我的 C++ 代码库,但我不明白它是否提供了一种在上传版本后自动增加包版本的方法。

我说的是我用来执行的npm postpublish 钩子脚本之npm version patch类的东西:所以我总是确定在发布之后,我正在开发一个新版本。

我有任何命令可以更新我的版本字段conanfile.py吗?部署后是否可以自动调用?

0 投票
1 回答
1803 浏览

cmake - 与 CMake 和工具链文件交叉编译时的 Conanfile 设置

我读到编译器应该在调用柯南的构建命令时指定,或者在[settings]配置文件的部分。

但是,我正在使用 Cmake 进行构建,并且已经使用CMAKE_TOOLCHAIN_FILE. 我发现我可以在[env]配置文件的部分中使用 进行设置CONAN_CMAKE_TOOLCHAIN_FILE,但在settings.

现在我对指定编译器的可能性感到困惑,该编译器与CONAN_CMAKE_TOOLCHAIN_FILE.

在这种情况下指定编译器的正确方法是什么?

用 替换标准设置部分是否安全CONAN_CMAKE_TOOLCHAIN_FILE

即在conanfile.py中:
settings = "CONAN_CMAKE_TOOLCHAIN_FILE"

(另外,为什么没有在 中指定源settings?这肯定是影响输出二进制文件的最常见更改吗?)

0 投票
1 回答
287 浏览

c++ - 柯南有没有办法导出一个空目录?

考虑包含一个空文件夹(称为empty_son_folder)和另一个非空文件夹(称为not_empty_son_folder)的文件夹(称为parent_folder)和以下exports_sources方法:

仅导出 not_empty_son_folder。

柯南有没有办法强制在导出源方法中复制一个空文件夹?

0 投票
2 回答
773 浏览

c++ - 在 Travis-CI 上使用 Conan 和 Python3

我有一个使用 Travis-CI 和柯南的 C++ 项目。我在 Travis-CI 上构建的 Linux 在尝试下载 libcurl 时失败:

根据错误中的建议,我试图让 Travis 使用 Python3 来查看是否可以解决问题,但我没有运气。首先,我添加python3packages:这样的内容:

但我收到与上述相同的错误。然后我尝试alias了命令:

然而,我得到了同样的结果。

如何让 Travis-CI 将 python3 用于柯南?还是有另一种方法可以让我的conan install命令起作用?

谢谢!

0 投票
1 回答
2435 浏览

c++ - Cmakelists 与柯南

我在用柯南创建 Cmakelists 的过程中遇到了一些问题。我只是按照官方的例子,但它对我不起作用......

这是我的 Cmakefiles.txt :

我的错误是:

0 投票
1 回答
1862 浏览

c++ - 在 MacOS 上构建 conan / cmake 项目时的相对 RPATH

我有一个简单的 C++ 项目,它依赖于 Intel TBB(需要使用共享库)。我正在尝试使用结合 CMake 的柯南包管理器来构建它,并且我已经能够使用此设置来毫无问题地添加非共享依赖项。


我的第一次尝试(结合柯南的 conanfile.txt 使用包的文档柯南的 conanfile.py 参考指南中的信息)使用了conanfile.py这样的方法:

CMakeLists.txt这样的:

(我src/main.cpp的只是TBB 包的测试文件的直接副本)

这建得很好;

但是运行./build/bin/main失败并出现此错误:

我在 MacOS 上,此错误类似于已知(但显然已修复)问题,因此我尝试从其自己的目录运行二进制文件;cd build/bin; ./main,但看到同样的错误。我不确定为什么这不起作用,但我转向了另一种方法,没有花太多时间调试它。


接下来,我按照柯南文档的 RPATHs 指南的“不同方法”结束了这个:

和这个:

哪个构建甚至运行!但是当我检查可执行文件时,我看到它引用了/Users/me/.conan/data/TBB/2018_U6/conan/stable/package/03db91a62823ebc2b1df6e5cf549c2f674116656/lib,这显然不是该代码应该做的(我期望看到@rpath/../lib或类似的)。我还验证了二进制文件确实使用了这个路径,而不是放置在其兄弟lib文件夹中的文件。


在这一点上,我被困住了。我可以看到 CMake 有一些 RPATH 处理选项,但看起来没有什么特别相关的,而且我不明白为什么我第二次尝试中的代码(直接取自柯南的文档)不起作用。

我需要做什么才能让共享库与柯南一起使用?(理想情况下是跨平台的,但至少在 MacOS 上)