2013-08-21 58 views
2

我在我的電腦上安裝了Qt 4.8.4和Qt 5.1後就遇到了問題。如何在同一臺機器上使用不同版本的Qt?

當只有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可以在同一臺計算機上共存嗎?怎麼樣?

+0

什麼是工具>選項...>構建和運行> Qt版本顯示? –

+0

「手動」分支下有Qt4和Qt5的qmake可執行文件的路徑。自動檢測是空的。 – Pietro

+0

您可以從那裏刪除Qt5條目。在Qt 4.8.4中沒有意義。並檢查您的項目設置是否反映了這一變化。 –

回答

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實例時,有時會出現問題,例如:第二個實例不能寫入控制檯。

+3

可以在QtCreator設置中設置自定義構建環境。另外QtCreator自動設置QTDIR變量。 http://qt-project.org/doc/qtcreator-2.5/creator-build-settings.html#build-environment – fasked

+0

漂亮,從來不知道。我已經成功地使用了Visual Studio的批處理文件方法,其中改變QTDIR就足夠了 –

相關問題