如何在同一台机器上使用不同版本的Qt?

时间:2013-08-21 09:41:52

标签: qt qt4 qt5 conflicting-libraries

因为我在计算机上安装了Qt 4.8.4和Qt 5.1,所以我遇到了问题。

当只有Qt 4.8.4时,一切都很好。

当我添加Qt 5.1时,这个正常工作,但Qt 4.8.4给了我这些链接器错误:

Makefile:34: recipe for target 'debug' failed
c:/mingw/bin/../lib/gcc/mingw32/4.7.2/../../../../mingw32/bin/ld.exe: cannot find -lQtGuid
c:/mingw/bin/../lib/gcc/mingw32/4.7.2/../../../../mingw32/bin/ld.exe: cannot find -lQtCored
collect2.exe: error: ld returned 1 exit status
mingw32-make[1]: *** [debug/BuildSystemTest3.exe] Error 1
mingw32-make: *** [debug] Error 2
09:21:00: The process "C:\MinGW\bin\mingw32-make.exe" exited with code 2.
Error while building/deploying project BuildSystemTest3 (kit: Desktop)
When executing step 'Make'

我可以在一个简单的测试项目(默认情况下由QtCreator创建的项目)上复制问题,使用此专业文件:

QT += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = BuildSystemTest3
TEMPLATE = app

SOURCES += main.cpp mainwindow.cpp
HEADERS += mainwindow.h

两个Qt版本安装在两个单独的目录中:C:\ Qt \ 4.8.4和C:\ Qt \ Qt5.1.0
MinGW是MinGW_4.6.2(Qt4)或MinGW_4.7.2(Qt5)的链接。

不同版本的Qt可以在同一台计算机上共存吗?怎么样?

1 个答案:

答案 0 :(得分:0)

我认为指向5.1安装的QTDIR环境变量可能存在问题。

您可以创建两个这样的批处理文件(可能必须添加qtcreator.exe的完整路径):

qtcreator484.bat

set QTDIR=C:\Qt\4.8.4
start qtcreator.exe

qtcreator510.bat

set QTDIR=C:\Qt\5.1.0
start qtcreator.exe

并放置它们,例如在桌面上。然后始终通过所需配置的批处理文件启动QtCreator。

侧节点:当同时启动两个QtCreator实例时,有时会出现问题,例如:第二个实例无法写入控制台。