Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 即使安装了qt5,也强制使用qt4编译_C++_Qt_Ubuntu_Qt4_Cmake - Fatal编程技术网

C++ 即使安装了qt5,也强制使用qt4编译

C++ 即使安装了qt5,也强制使用qt4编译,c++,qt,ubuntu,qt4,cmake,C++,Qt,Ubuntu,Qt4,Cmake,我在Ubuntu 14.04上,安装了qt4和qt5(从存储库)。我想我可以在qt5建筑和qt4建筑之间切换,只需 sudo apt-get install qt4-default 但该程序仍然使用Qt5构建,并给出错误,因为它只支持Qt4 我检查了qmake版本,在安装了qt4默认值之后,它给出了 $ qmake --version QMake version 2.01a Using Qt version 4.8.6 in /usr/lib/x86_64-linux-gnu 我正在用CMa

我在Ubuntu 14.04上,安装了qt4和qt5(从存储库)。我想我可以在qt5建筑和qt4建筑之间切换,只需

sudo apt-get install qt4-default
但该程序仍然使用Qt5构建,并给出错误,因为它只支持Qt4

我检查了qmake版本,在安装了qt4默认值之后,它给出了

$ 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,我更喜欢命令行解决方案

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

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

如果你已经有了这个以及Qt5的cmake代码,你可以建立一个cmake-DQT4定义来处理所有这些区别。我以为有一些系统方法可以隐藏Qt5,但我想这不是推荐的方法。@XuWang:我不知道有,但如果有,请告诉我。Cmake为Qt5提供了新的工作方式,这是正确的。好的,我会看看。谢谢你的回复。