【问题标题】:Force compilation with qt4 even if qt5 is installed即使安装了 qt5,也使用 qt4 强制编译
【发布时间】:2014-07-13 12:49:32
【问题描述】:

我在 Ubuntu 14.04 上安装了 qt4 和 qt5(来自存储库)。我以为我可以简单地在使用 qt5 构建和使用 qt4 构建之间切换

sudo apt-get install qt4-default

但程序仍然使用 Qt5 构建并报错,因为它只支持 Qt4。

我检查了 qmake 版本,在安装 qt4-default 后它给出了

$ qmake --version
QMake version 2.01a
Using Qt version 4.8.6 in /usr/lib/x86_64-linux-gnu

我正在使用 CMake 进行构建,以防万一。另外,如果我这样做了

sudo apt-get remove qtbase5-dev

最后它用 qt4 构建。

编辑:我没有使用 Qt Creator,我更喜欢命令行解决方案

【问题讨论】:

    标签: c++ qt ubuntu qt4 cmake


    【解决方案1】:

    您需要将其放入您的 CMakeLists.txt:

    find_package(Qt4 REQUIRED)
    ... 
    include_directories(${QT_INCLUDES})
    target_link_libraries(main ${QT_QTCORE_LIBRARY})
    

    【讨论】:

    • 如果您已经拥有这个以及 Qt 5 cmake 代码,您可以建立一个 cmake -DQT4 定义来处理所有这些区别。
    • 我没有意识到我必须在 CMake 级别进行。我认为有一些系统方法可以隐藏 qt 5,但我想这不是推荐的方法..
    • @XuWang:我不知道,但如果有,请告诉我。 Cmake 为 Qt 5 提供了新的处理方式,这是理所当然的。
    • 好的,我去看看。感谢您的回复。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-26
    • 2020-06-21
    相关资源
    最近更新 更多