连接柯南包和普通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目录模型QDirModel的使用(一个model同时连接tree,list,table)
Qt Creator中的OpenCV:无法连接创建者通信套接字/tmp/qt_temp.T32147/stub-socket:没有这样的文件或目录