纯净/最小的Windows下Qt开发环境

A. 写在前面的废话,这是必须的

既然写了上一篇最小Windows开发环境,那我就继续写下去。

本人有系统洁癖,最讨厌其他的开发包给我安一堆没用的文档和垃圾工具(需要的俺会自己下,主要是硬盘不够)

像Qt,当然,最简单的安装方法是直接下那个QtSDK,然后闭着眼选全部安装->确定,然后6G就没有了。

不过这样显得太没有技术含量了,真正的geek,要敢于面对64G安了Win7还要留出10G保存代码的硬盘,游戏就不奢望了,娱乐怎么也得10G留着放点高清电影吧(其实俺是SSD…)


B. 接下来就编译Qt了

还是那句话,我电脑上除了Windows不是自己编译的,其他能自己编译就自己编译,放心。

我用的默认编译,直接下载qt-everywhere-4.X.X解压缩,编译(更Geek的童鞋可能还需要先自己下载7z源码编译一个7z,我用我原来编译好的)

命令行我都背下来了,很简单,全部编译(注意,这个要支持SSL的童鞋要加上SSL,我的加了,命令行还要查就不写了。还有,不喜欢链接msvcrt.lib的同学自己修改\mkspecs\win32-msvc2008\qmake.conf)

configure -fast -release -openssl -I d:\ssl\include -L d:\ssl\include -nomake demos -nomake examples
nmake
我的qmake.conf是这个样子的


注意,要是你用SSL,Network那块那几个库最好加上。

#
# qmake configuration for win32-msvc2008
#
# Written for Microsoft VC2005.NET
#

MAKEFILE_GENERATOR      = MSVC.NET
TEMPLATE                = app
CONFIG                  += qt warn_on release incremental flat link_prl precompile_header autogen_precompile_source copy_dir_files debug_and_release debug_and_release_target embed_manifest_dll embed_manifest_exe
QT                      += core gui
DEFINES                 += UNICODE WIN32 QT_LARGEFILE_SUPPORT
QMAKE_COMPILER_DEFINES  += _MSC_VER=1500 WIN32

QMAKE_CC                = cl
QMAKE_LEX               = flex
QMAKE_LEXFLAGS          =
QMAKE_YACC              = byacc
QMAKE_YACCFLAGS         = -d
QMAKE_CFLAGS            = -nologo -Zm200 -Zc:wchar_t-
QMAKE_CFLAGS_WARN_ON    = -W3
QMAKE_CFLAGS_WARN_OFF   = -W0
QMAKE_CFLAGS_RELEASE    = -MT
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -MT -Zi
QMAKE_CFLAGS_DEBUG      = -Zi -MDd
QMAKE_CFLAGS_YACC       =
QMAKE_CFLAGS_LTCG       = -GL
QMAKE_CFLAGS_MP         = -MP

QMAKE_CXX               = $QMAKE_CC
QMAKE_CXXFLAGS          = $QMAKE_CFLAGS
QMAKE_CXXFLAGS_WARN_ON  = $QMAKE_CFLAGS_WARN_ON -w34100 -w34189
QMAKE_CXXFLAGS_WARN_OFF = $QMAKE_CFLAGS_WARN_OFF
QMAKE_CXXFLAGS_RELEASE  = $QMAKE_CFLAGS_RELEASE
QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += $QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO
QMAKE_CXXFLAGS_DEBUG    = $QMAKE_CFLAGS_DEBUG
QMAKE_CXXFLAGS_YACC     = $QMAKE_CFLAGS_YACC
QMAKE_CXXFLAGS_LTCG     = $QMAKE_CFLAGS_LTCG
QMAKE_CXXFLAGS_MP       = $QMAKE_CFLAGS_MP
QMAKE_CXXFLAGS_STL_ON   = -EHsc
QMAKE_CXXFLAGS_STL_OFF  =
QMAKE_CXXFLAGS_RTTI_ON  = -GR
QMAKE_CXXFLAGS_RTTI_OFF =
QMAKE_CXXFLAGS_EXCEPTIONS_ON = -EHsc
QMAKE_CXXFLAGS_EXCEPTIONS_OFF =

QMAKE_INCDIR            =
QMAKE_INCDIR_QT         = $[QT_INSTALL_HEADERS]
QMAKE_LIBDIR_QT         = $[QT_INSTALL_LIBS]

QMAKE_RUN_CC            = $(CC) -c $(CFLAGS) $(INCPATH) -Fo$obj $src
QMAKE_RUN_CC_IMP        = $(CC) -c $(CFLAGS) $(INCPATH) -Fo$@ {1}lt;
QMAKE_RUN_CC_IMP_BATCH  = $(CC) -c $(CFLAGS) $(INCPATH) -Fo$@ @<<
QMAKE_RUN_CXX           = $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$obj $src
QMAKE_RUN_CXX_IMP       = $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ {1}lt;
QMAKE_RUN_CXX_IMP_BATCH = $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ @<<

QMAKE_LINK              = link
QMAKE_LFLAGS            = /NOLOGO
QMAKE_LFLAGS_RELEASE    = /NODEFAULTLIB:msvcrt.lib /INCREMENTAL:NO
QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO = /NODEFAULTLIB:msvcrt.lib /DEBUG /OPT:REF
QMAKE_LFLAGS_DEBUG      = /DEBUG
QMAKE_LFLAGS_CONSOLE    = /SUBSYSTEM:CONSOLE
QMAKE_LFLAGS_WINDOWS    = /SUBSYSTEM:WINDOWS \"/MANIFESTDEPENDENCY:type=\'win32\' name=\'Microsoft.Windows.Common-Controls\' version=\'6.0.0.0\' publicKeyToken=\'6595b64144ccf1df\' language=\'*\' processorArchitecture=\'*\'\"
QMAKE_LFLAGS_DLL        = /DLL
QMAKE_LFLAGS_LTCG       = /LTCG

QMAKE_LIBS_CORE         = kernel32.lib user32.lib shell32.lib uuid.lib ole32.lib advapi32.lib ws2_32.lib
QMAKE_LIBS_GUI          = gdi32.lib comdlg32.lib oleaut32.lib imm32.lib winmm.lib winspool.lib ws2_32.lib ole32.lib user32.lib advapi32.lib
QMAKE_LIBS_NETWORK      = ws2_32.lib kernel32.lib user32.lib advapi32.lib gdi32.lib crypt32.lib
QMAKE_LIBS_OPENGL       = glu32.lib opengl32.lib gdi32.lib user32.lib
QMAKE_LIBS_COMPAT       = advapi32.lib shell32.lib comdlg32.lib user32.lib gdi32.lib ws2_32.lib

QMAKE_LIBS_QT_ENTRY     = -lqtmain

QMAKE_MOC               = $[QT_INSTALL_BINS]\\moc.exe
QMAKE_UIC               = $[QT_INSTALL_BINS]\\uic.exe
QMAKE_IDC               = $[QT_INSTALL_BINS]\\idc.exe

QMAKE_IDL               = midl
QMAKE_LIB               = lib /NOLOGO
QMAKE_RC                = rc

QMAKE_ZIP               = zip -r -9

QMAKE_COPY              = copy /y
QMAKE_COPY_DIR          = xcopy /s /q /y /i
QMAKE_MOVE              = move
QMAKE_DEL_FILE          = del
QMAKE_DEL_DIR           = rmdir
QMAKE_CHK_DIR_EXISTS    = if not exist
QMAKE_MKDIR             = mkdir

VCPROJ_EXTENSION        = .vcproj
VCSOLUTION_EXTENSION    = .sln
VCPROJ_KEYWORD  = Qt4VSv1.0
load(qt_config)


接下来,漫长的等待(要是很不幸你报错了自己解决不了,本文不适合你,嘿嘿)

接下来,最重要的一步(对于我这是必须的)

nmake clean

C. 编译QtCreator

下载源代码这就不说了,进入目录

qmake
nmake
(感觉像是废话

然后……没有然后了,能用了,剩下就是配置QtCreator了(如果还不能用就nmake install)

在这里,我又要感谢MSVC9.0编译器的开发人员,他们-O2的BUG再一次成功的锻炼了我的技术。。。又出错了,去掉makefile里的-O2,一切正常。

前几天提交了一个QtCreator 2.4.1的bug, 听某芬兰人说QtCreator2.5.0里修正了,但是我怎么编译都没办法运新,算了,我是4.7.4,他们估计是用的Qt4.8.0的库,实在是BUG太多,现不用了




你可能感兴趣的:(纯净/最小的Windows下Qt开发环境)