2016-11-10 64 views
1

我需要在我的Win 7 PC上編譯Qt 3.3.6,並將其與我的MSVC2012 C++編譯器(MSVS 2012 Professional)配合使用。如何編譯Qt 3.3.6以用於VC2012?

簡單的原因是我有一個Qt 3.3.6許可證和很多Qt 3.3.6源代碼。所以,Qt升級不是一種選擇。 「谷歌」不幫...

編輯:16/11/10下午1:40

我已經嘗試過通過啓動通過VS2012(工具/ VisualStudioCommandPrompt)外殼和改變CWD來編譯它包含適當的Makefile的Qt目錄:

C:\Qt\3.3.6>bin\configure.exe -redo -spec win32-msvc2012 
License file not found in C:/Users/mdew 
Enterprise modules will not be available. 

QMAKESPEC...................win32-msvc 
Maketool....................nmake 

[...list of all the installed programs...] 

Configuration: 
    nocrosscompiler 
    dialogs 
    iconview 
    kernel 
    styles 
    tools 
    widgets 
    workspace 
    minimal-config 
    small-config 
    medium-config 
    large-config 
    full-config 
    release 
    thread 
    no-gif 
    zlib 
    jpeg 
    mng 
    png 
    bigcodecs 
    no-tablet 
Debug symbols...............no 
Thread support..............yes 

Accessibility support.......no 
Big Textcodecs..............yes 
Tablet support..............no 
STL support.................yes 
Additional exports..........no 
Exception support...........yes 
RTTI support................yes 
OpenGL support..............no 

Image formats: 
    GIF support.............no 
    MNG support.............qt 
    JPEG support............qt 
    PNG support.............qt 

Styles: 
    Windows.................yes 
    Windows XP..............no 
    Motif...................yes 
    Platinum................yes 
    MotifPlus...............yes 
    CDE.....................yes 
    SGI.....................yes 

Sql Drivers: 
    ODBC....................no 
    MySQL...................no 
    OCI.....................no 
    PostgreSQL..............no 
    TDS.....................no 
    DB2.....................no 
    SQLite..................no 
    Interbase...............no 

Sources are in..............C:\Qt\3.3.6 
Install prefix..............C:\Qt\3.3.6 
Headers installed to........C:\Qt\3.3.6\include 
Libraries installed to......C:\Qt\3.3.6\lib 
Plugins installed to........C:\Qt\3.3.6\plugins 
Binaries installed to.......C:\Qt\3.3.6\bin 
Docs installed to...........C:\Qt\3.3.6\doc 
Data installed to...........C:\Qt\3.3.6 
Translations installed to...C:\Qt\3.3.6\translations 


Creating qmake... 

Microsoft (R) Program Maintenance Utility Version 11.00.61030.0 
Copyright (C) Microsoft Corporation. All rights reserved. 

     cd qmake 
NMAKE : fatal error U1077: 'cd' : return code '0x1' 
Stop. 
Building qmake failed, return code 2 

因此,我試圖通過MSVS2012編譯它失敗。 NMAKE陷入困境。

我在做什麼錯?

非常感謝您的任何提示!

BR mdew

+1

你跟編譯得到什麼問題?順便說一下,Qt團隊不支持Qt3,因此,您可能需要很多固定的Qt源代碼才能編譯它。 –

+0

@Dimitry:好點。我已經嘗試編譯Qt 3.3.6,因爲我有源代碼。看到我上面編輯的請求。 我知道,許可證文件仍然丟失。我仍然需要複製它。恐怕,這不會是錯誤的原因。 – mdew

+1

那麼,您是否嘗試閱讀您的輸出?什麼是'cd qmake'?你真的有這個目錄嗎?你是否正確設置了環境? –

回答

1

試圖從MSVC2015源代碼編譯的Qt 3.3.6,我已經成功。

https://sourceforge.net/projects/qtwin/files/Unofficial%20Qtwin/qt-win-3.3.6-6/

您必須QTDIR環境變量

set QTDIR=<your path to Qt 3 folder> 

確保bin文件夾在PATH

set PATH=%QTDIR%\bin;%PATH% 

在下列文件與MAX_PATH替換PATH_MAX

下載的Qt 3源:

src\tools\qdir_win.cpp 
src\tools\qdir.cpp 

評論或刪除

#include <winable.h> 

src\kernel\qaccessible_win.cpp 

運行

configure.bat --help 

configure.exe和link_includes.exe將在bin文件夾中生成。

cd bin 
configure.exe -no-dsp -v 

,如果你得到錯誤saing錯誤C3688:無效的字面後綴 'QTDLL_POSTFIX'

刪除所有QTDLL_POSTFIX在這個文件:

qmake\generators\win32\borland_bmake.cpp 
qmake\generators\win32\mingw_make.cpp 
qmake\generators\win32\msvc_dsp.cpp 
qmake\generators\win32\msvc_nmake.cpp 
qmake\generators\win32\msvc_vcproj.cpp 

,改變

QString dllStem = stem + QTDLL_POSTFIX; 

QString dllStem = stem; 

qmake\generators\win32\winmakefile.cpp 

重播

configure.exe -no-dsp -v 

現在應該編譯成功

+0

有趣。我會記住這一點... – mdew