代码之家  ›  专栏  ›  技术社区  ›  David Segonds

qmake和qt_安装前缀。如何为qt库选择新位置?

  •  17
  • David Segonds  · 技术社区  · 15 年前

    我是Qmake的新手,我正在尝试构建一个现有的应用程序。qt最初安装在/usr/local/lib/qt-4.3.5中,“qmake-query qt_install_prefix”返回该路径。

    我已经将qt库移到了另一个位置,生成的makefile中充满了/usr/local原始路径。

    如何在不重新编译qt的情况下强制qmake使用我选择的新位置?

    3 回复  |  直到 15 年前
        1
  •  9
  •   macetw    12 年前

    这是从qconfig.cpp编译到qmake的“内置”。最好的方法是用另一个前缀重新配置qt并不幸地重新构建。对于大多数其他变量,可以使用.qmake.cache文件。见

    http://doc.qt.digia.com/qt/qmake-environment-reference.html

    更多信息

        2
  •  34
  •   Tim Meyer    9 年前

    我正在研究这个问题,发现了一种方法(在Qt4.7.2中)通过使用 qt.conf 文件。

    在我的案例中,我添加了 qt4-4.7.2/bin/qt.conf (必须与 qmake 可执行文件)

    包括以下内容:

    [Paths]
    Prefix = c:/my_path/to/qt4-4.7.2
    

    qmake查询开始返回正确的路径!

    见: http://doc.qt.io/qt-4.8/qt-conf.html 有关详细信息


    [更新:]Qt5.3.1(在Windows8上用静态版本5.3.1和5.5测试)以来,您可以简单地

    [Paths]
    Prefix = ..
    

    在任何地方部署Qt安装。

        3
  •  2
  •   Rob    13 年前

    正如Henrik Hartz所指出的,qt安装前缀是内置的,不能更改。但是,如果只想解决临时重建qt的问题,可以尝试以下方法:

    查询qmake以获取其安装前缀,重新创建报告的目录结构,并使用符号链接或硬链接到重新定位的qt版本所在的位置。例如在Linux上

    • 获取报告路径 /new/Qt/location/bin/qmake -query QT_INSTALL_PREFIX . 说这个报告 /Parent/Dirs/Prefix .
    • 创建路径的任何父目录,例如 mkdir -p /Parent/Dirs/
    • 符号链接到新位置,例如 ln -s /new/Qt/location /Parent/Dirs/Prefix

    如果您有一批开发人员需要使用相同的预构建版本的qt,其中qt版本不必复制到所有开发人员计算机上的同一路径,并且您只需要将qt共享lib与最终用户的应用程序捆绑在一起(即,您不需要传送头或构建工具)。