连接柯南包和普通Qt目录

Posted

技术标签:

【中文标题】连接柯南包和普通Qt目录【英文标题】:Connecting Conan package with ordinary Qt directory 【发布时间】:2018-06-12 19:25:56 【问题描述】:

我在柯南官方教程中研究过创建包。我想为静态库(基于 CMake 的项目)创建自己的包。它支持Linux和Windows。但这取决于 Qt LTS 5.9x。 CMakeLists.txt 包含对find_package 的调用。通常我通过了

-DCMAKE_PREFIX_PATH=path_to_qt_cmake_modules

到 cmake 实用程序。柯南没有官方的 Qt 5.9 支持。在软件包安装期间将CMAKE_PREFIX_PATH 传递给conan 的正确方法是什么?

【问题讨论】:

【参考方案1】:

如果您使用CMake 帮助程序,您可以在build() 方法中定义任何cmake 变量:

from conans import ConanFile, CMake

class ExampleConan(ConanFile):
    ...

    def build(self):
        cmake = CMake(self)
        cmake.definitions["CMAKE_PREFIX_PATH"] = <your-prefix-path>
        cmake.configure()
        cmake.build()
        cmake.install() # Build --target=install

如果您想要 Qt 本地安装的可参数化路径,您可以使用普通的 env-vars。它们可以在系统中定义,但为方便起见,也可以在您的配置文件中定义:

[settings]
...
[env]
QT_PATH=my/path/to/qt

然后使用类似的东西:

cmake.definitions["CMAKE_PREFIX_PATH"] = os.environ["QT_PATH"]

【讨论】:

以上是关于连接柯南包和普通Qt目录的主要内容,如果未能解决你的问题,请参考以下文章

基于QT的TCP传输拆包和组包算法

QT6.0+mysql8.0+VS2019连接数据库

java连接sql server的驱动包和连接方法

QT目录模型QDirModel的使用(一个model同时连接tree,list,table)

Qt Creator中的OpenCV:无法连接创建者通信套接字/tmp/qt_temp.T32147/stub-socket:没有这样的文件或目录

Qt源码阅读 信号槽的连接与调用