QT5静态编译源码使发布程序不依赖于dll且能运行于windowsXP系统

要想实现标题的目的,qt5.7及其之后的版本——别试了。网上有5.7的方法,可是5.7不是LTS(长期技术支持版)啊。

5.6到2017年底还在出改进版5.6.3,而5.7就销声匿迹了啊。

我尝试5.9这个同5.6一样的长期版,静态编译倒是可以,放xp里运行不了了。qt自己也说5.7之后就不支持xp了。

【我是win10x64的虚拟机】

1.去QT官网或者镜像网站下载everything。比如说北京理工的http://mirror.bit.edu.cn/qtproject/official_releases/qt/5.6/5.6.3/single/

2.装python2.7.*  我装的是当时官网的2.7.13 

3.装ruby 我装的是ruby 1.9.2p0 (2010-08-18) [i386-mingw32]

4.装perl 我装的是http://www.perl.org/上的5.24.3

上述软件安装时会有英文提示问你是否加入环境变量等等,注意观察。勾选加入!

装VS2015 update3  切记是update3!很大的一个安装包,7G多的一个ISO。(VS2017貌似就不理睬x86了,专心x64了。)

还要装一个windows software development Kit的东西,这是一个全家桶,不必都装,光装里面那个什么SDK就行。

5.6.3静态编译方法

1.建个QtStatic目录,其下再建立三个子目录BuildScript、src、vs2015static

(BuildScript用来存放安装脚本和编译中间文件;src用来存everything解压出来的源码;另一个目录就是存最终成果了。mingw编译器神慢,在win下还是用ms的vs自带的编译器cl吧。)

2.在BuildScript目录下建立qt-build.bat文件,内容如下:

REM ********** Initialize env for msvc 2015 cl compiler **********
SET PATH=C:\Windows;C:\Windows\system32
REM Set up \Microsoft Visual Studio 2015, where  is amd64, x86, etc.
CALL "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86

REM ********** Update include & lib to support xp win sdk 7.1A **********
SET PATH="C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Bin";%PATH%
SET INCLUDE="C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include";%INCLUDE%
SET LIB="C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib";%LIB%
SET CL=/D_USING_V110_SDK71_;%CL%

REM ********** 3rd party build tools binaries: ruby, perl, python ********** 
SET PATH=C:\Perl64\bin;C:\Perl64\site\bin;C:\Python27\;C:\Python27\Scripts;C:\Ruby192\bin;%PATH%

REM ********** Set up qt source env **********
SET _ROOT=C:\QtStatic\Qt5.6.3\src
SET PATH=%_ROOT%\qtbase\bin;%_ROOT%\gnuwin32\bin;%PATH%
REM Uncomment the below line when using a git checkout of the source repository
REM SET PATH=%_ROOT%\qtrepotools\bin;%PATH%
SET QMAKESPEC=win32-msvc2015
SET _ROOT=

REM Generate makefile
../src/configure.bat -confirm-license -opensource -platform win32-msvc2015 -release -static -target xp -prefix C:\QtStatic\Qt5.6.3\vs2015static -qt-sql-sqlite -qt-sql-odbc -plugin-sql-sqlite -plugin-sql-odbc -plugin-sql-oci -plugin-sql-mysql -qt-zlib -qt-pcre -qt-libpng -qt-libjpeg -opengl desktop -qt-freetype -no-qml-debug -no-angle -nomake tests -nomake examples -skip qtquickcontrols -skip qtquickcontrols2 -skip qtsensors -skip qtdoc -no-directwrite -mp 

 上文中涉及路径的你仔细调整,设置成你自己机器的真实情况。我需要连接oracle和mysql数据库,你视情况自行增删最后一段相关开关。最后一段这里,qt5.6和5.9关于数据库这块很是不同,其他细节也有差异。

3.修改C:\QtStatic\Qt5.6.3\src\qtbase\mkspecs\common\msvc-desktop.conf如下:

#
# qmake configuration for Microsoft Visual Studio C/C++ Compiler
# This mkspec is used for all win32-msvcXXXX specs
#

isEmpty(MSC_VER)|isEmpty(MSVC_VER): error("Source mkspec must set both MSC_VER and MSVC_VER.")

#
# Baseline: Visual Studio 2005 (8.0), VC++ 14.0
#

include(angle.conf)

MAKEFILE_GENERATOR      = MSVC.NET
QMAKE_PLATFORM          = win32
QMAKE_COMPILER          = msvc
CONFIG                 += incremental flat precompile_header autogen_precompile_source debug_and_release debug_and_release_target embed_manifest_dll embed_manifest_exe
DEFINES                += UNICODE WIN32
QMAKE_COMPILER_DEFINES += _MSC_VER=$$MSC_VER _WIN32
contains(QMAKE_TARGET.arch, x86_64) {
    DEFINES += WIN64
    QMAKE_COMPILER_DEFINES += _WIN64
}

QMAKE_CC                = cl
QMAKE_LEX               = flex
QMAKE_LEXFLAGS          =
QMAKE_YACC              = bison -y
QMAKE_YACCFLAGS         = -d
QMAKE_CFLAGS            = -nologo -Zc:wchar_t
QMAKE_CFLAGS_WARN_ON    = -W3
QMAKE_CFLAGS_WARN_OFF   = -W0
QMAKE_CFLAGS_RELEASE    = -O2 -MT
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MT -Zi
QMAKE_CFLAGS_DEBUG      = -Zi -MTd
QMAKE_CFLAGS_YACC       =
QMAKE_CFLAGS_LTCG       = -GL
QMAKE_CFLAGS_SSE2       = -arch:SSE2
QMAKE_CFLAGS_SSE3       = -arch:SSE2
QMAKE_CFLAGS_SSSE3      = -arch:SSE2
QMAKE_CFLAGS_SSE4_1     = -arch:SSE2
QMAKE_CFLAGS_SSE4_2     = -arch:SSE2

QMAKE_CXX               = $$QMAKE_CC
QMAKE_CXXFLAGS          = $$QMAKE_CFLAGS
QMAKE_CXXFLAGS_WARN_ON  = $$QMAKE_CFLAGS_WARN_ON -w34100 -w34189 -w44996
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_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_RUN_CC            = $(CC) -c $(CFLAGS) $(INCPATH) -Fo$obj $src
QMAKE_RUN_CC_IMP        = $(CC) -c $(CFLAGS) $(INCPATH) -Fo$@ $<
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$@ $<
QMAKE_RUN_CXX_IMP_BATCH = $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ @<<

QMAKE_LINK              = link
QMAKE_LFLAGS            = /NOLOGO /DYNAMICBASE /NXCOMPAT
QMAKE_LFLAGS_RELEASE    = /INCREMENTAL:NO
QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO = /DEBUG /OPT:REF /INCREMENTAL:NO
QMAKE_LFLAGS_DEBUG      = /DEBUG
QMAKE_LFLAGS_CONSOLE    = /SUBSYSTEM:CONSOLE
QMAKE_LFLAGS_WINDOWS    = /SUBSYSTEM:WINDOWS
QMAKE_LFLAGS_EXE        = \"/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_PREFIX_SHLIB      =
QMAKE_EXTENSION_SHLIB   = dll
QMAKE_PREFIX_STATICLIB  =
QMAKE_EXTENSION_STATICLIB = lib

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 ws2_32.lib ole32.lib user32.lib advapi32.lib
QMAKE_LIBS_NETWORK      = ws2_32.lib
QMAKE_LIBS_OPENGL       = glu32.lib opengl32.lib gdi32.lib user32.lib
QMAKE_LIBS_OPENGL_ES2   = $${LIBEGL_NAME}.lib $${LIBGLESV2_NAME}.lib gdi32.lib user32.lib
QMAKE_LIBS_OPENGL_ES2_DEBUG = $${LIBEGL_NAME}d.lib $${LIBGLESV2_NAME}d.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_IDL               = midl
QMAKE_LIB               = lib /NOLOGO
QMAKE_RC                = rc

VCPROJ_EXTENSION        = .vcproj
VCSOLUTION_EXTENSION    = .sln
VCPROJ_KEYWORD          = Qt4VSv1.0

include(msvc-base.conf)

unset(MSC_VER)

 4.修改C:\QtStatic\Qt5.6.3\src\qtbase\src\plugins\sqldrivers\mysql\mysql.pro等数据库配置文件如下:

TARGET = qsqlmysql

SOURCES = main.cpp
OTHER_FILES += mysql.json
include(../../../sql/drivers/mysql/qsql_mysql.pri)

PLUGIN_CLASS_NAME = QMYSQLDriverPlugin
include(../qsqldriverbase.pri)

INCLUDEPATH += "C:/MySQL/include"
LIBPATH += "C:/MySQL/lib"
QMAKE_LIBS += -llibmysql -lmysqlclient 
TARGET = qsqloci

SOURCES = main.cpp
OTHER_FILES += oci.json
include(../../../sql/drivers/oci/qsql_oci.pri)

PLUGIN_CLASS_NAME = QOCIDriverPlugin
include(../qsqldriverbase.pri)

INCLUDEPATH += "C:/instantclient_11_2/sdk/include"
LIBPATH += "C:/instantclient_11_2/sdk/lib/msvc"

QMAKE_LIBS += -loci -lociw32 -loraocci11
TARGET = qsqlodbc

SOURCES = main.cpp
OTHER_FILES += odbc.json
include(../../../sql/drivers/odbc/qsql_odbc.pri)

PLUGIN_CLASS_NAME = QODBCDriverPlugin
include(../qsqldriverbase.pri)

INCLUDEPATH += "C:/Program Files (x86)/Windows Kits/8.1/Include/um"
LIBPATH += "C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86"
QMAKE_LIBS += odbc32.lib odbcbcp.lib odbccp32.lib

几个配置文件修改完毕,就是漫长的编译等待工作了。后续操作,参考《VS2015编译Qt5.7.0生成支持XP的静态库》。

编程的时候参考《使用Qt5.7.0 VS2015版本生成兼容XP的可执行程序》。

完毕。

5.9.4静态编译方法

1.建个QtStatic目录,其下再建立三个子目录BuildScript、src、vs2015static

(BuildScript用来存放安装脚本和编译中间文件;src用来存everything解压出来的源码;另一个目录就是存最终成果了。mingw编译器神慢,在win下还是用ms的vs自带的编译器cl吧。)

2.在BuildScript目录下建立qt-build.bat文件,内容如下:

REM ********** Initialize env for msvc 2015 cl compiler **********
SET PATH=C:\Windows;C:\Windows\system32
REM Set up \Microsoft Visual Studio 2015, where  is amd64, x86, etc.
CALL "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86

REM ********** Update include & lib to support xp win sdk 7.1A **********
SET PATH="C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Bin";%PATH%
SET INCLUDE="C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include";%INCLUDE%
SET LIB="C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib";%LIB%
SET CL=/D_USING_V110_SDK71_;%CL%

REM ********** 3rd party build tools binaries: ruby, perl, python ********** 
SET PATH=C:\Perl64\bin;C:\Perl64\site\bin;C:\Python27\;C:\Python27\Scripts;C:\Ruby192\bin;%PATH%

REM ********** Set up qt source env **********
SET _ROOT=C:\QtStatic\Qt5.9.4\src
SET PATH=%_ROOT%\qtbase\bin;%_ROOT%\gnuwin32\bin;%PATH%
REM Uncomment the below line when using a git checkout of the source repository
REM SET PATH=%_ROOT%\qtrepotools\bin;%PATH%
REM SET QMAKESPEC=win32-msvc
SET _ROOT=

REM Generate makefile
../src/configure.bat -confirm-license -opensource -platform win32-msvc2015 -release -static -prefix C:\QtStatic\Qt5.9.4\vs2015static -continue -I"C:\instantclient_11_2\sdk\include" -L"C:\instantclient_11_2\sdk\lib\msvc" -I"C:\MySQL\include" -L"C:\MySQL\lib" -sql-sqlite -sql-odbc -sql-oci -sql-mysql -qt-zlib -qt-pcre -qt-libpng -qt-libjpeg -opengl desktop -qt-freetype -no-qml-debug -no-angle -nomake tests -nomake examples -skip qtquickcontrols -skip qtquickcontrols2 -skip qtsensors -skip qtdoc -no-directwrite -mp 

3、msvc-desktop.conf修改

#
# This file is used as a basis for the following compilers:
#
# - Microsoft C/C++ Optimizing Compiler (all desktop versions)
# - Intel C++ Compiler on Windows
# - Clang-cl
#
# Baseline:
#
# - Visual Studio 2005 (8.0), VC++ 14.0
#
# Version-specific settings go in msvc-version.conf (loaded by default_pre)
#

MAKEFILE_GENERATOR      = MSVC.NET
QMAKE_PLATFORM          = win32
QMAKE_COMPILER          = msvc
CONFIG                 += incremental flat debug_and_release debug_and_release_target precompile_header autogen_precompile_source embed_manifest_dll embed_manifest_exe
DEFINES                += UNICODE _UNICODE WIN32 _USING_V110_SDK71_
QMAKE_COMPILER_DEFINES += _WIN32
contains(QMAKE_TARGET.arch, x86_64) {
    DEFINES += WIN64
    QMAKE_COMPILER_DEFINES += _WIN64
}


QMAKE_CFLAGS_OPTIMIZE      = -O2
QMAKE_CFLAGS_OPTIMIZE_SIZE = -O1

QMAKE_CC                = cl
QMAKE_LEX               = flex
QMAKE_LEXFLAGS          =
QMAKE_YACC              = bison -y
QMAKE_YACCFLAGS         = -d
QMAKE_CFLAGS            = -nologo -Zc:wchar_t
QMAKE_CFLAGS_WARN_ON    = -W3
QMAKE_CFLAGS_WARN_OFF   = -W0
QMAKE_CFLAGS_RELEASE    = $$QMAKE_CFLAGS_OPTIMIZE -MT
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_OPTIMIZE -MT -Zi
QMAKE_CFLAGS_DEBUG      = -Zi -MTd
QMAKE_CFLAGS_YACC       =
QMAKE_CFLAGS_LTCG       = -GL

contains(QMAKE_TARGET.arch, x86_64) {
    # SSE2 is mandatory on 64-bit mode, so skip the option. It triggers:
    # cl : Command line warning D9002 : ignoring unknown option '-arch:SSE2'
    QMAKE_CFLAGS_SSE2   =
} else {
    QMAKE_CFLAGS_SSE2   = -arch:SSE2
}
QMAKE_CFLAGS_SSE3       = $$QMAKE_CFLAGS_SSE2
QMAKE_CFLAGS_SSSE3      = $$QMAKE_CFLAGS_SSE2
QMAKE_CFLAGS_SSE4_1     = $$QMAKE_CFLAGS_SSE2
QMAKE_CFLAGS_SSE4_2     = $$QMAKE_CFLAGS_SSE2

QMAKE_CXX               = $$QMAKE_CC
QMAKE_CXXFLAGS          = $$QMAKE_CFLAGS
QMAKE_CXXFLAGS_WARN_ON  = $$QMAKE_CFLAGS_WARN_ON -w34100 -w34189 -w44996
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_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_RUN_CC            = $(CC) -c $(CFLAGS) $(INCPATH) -Fo$obj $src
QMAKE_RUN_CC_IMP        = $(CC) -c $(CFLAGS) $(INCPATH) -Fo$@ $<
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$@ $<
QMAKE_RUN_CXX_IMP_BATCH = $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ @<<

QMAKE_LINK              = link
QMAKE_LFLAGS            = /NOLOGO /DYNAMICBASE /NXCOMPAT
QMAKE_LFLAGS_RELEASE    = /INCREMENTAL:NO
QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO = /DEBUG /OPT:REF /INCREMENTAL:NO
QMAKE_LFLAGS_DEBUG      = /DEBUG
QMAKE_LFLAGS_CONSOLE    = /SUBSYSTEM:CONSOLE,5.01
QMAKE_LFLAGS_WINDOWS    = /SUBSYSTEM:WINDOWS,5.01
QMAKE_LFLAGS_EXE        = \"/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_PREFIX_SHLIB      =
QMAKE_EXTENSION_SHLIB   = dll
QMAKE_PREFIX_STATICLIB  =
QMAKE_EXTENSION_STATICLIB = lib

QMAKE_LIBS_GUI          = gdi32.lib comdlg32.lib oleaut32.lib imm32.lib winmm.lib ws2_32.lib ole32.lib user32.lib advapi32.lib
QMAKE_LIBS_NETWORK      = ws2_32.lib
QMAKE_LIBS_OPENGL       = glu32.lib opengl32.lib gdi32.lib user32.lib
QMAKE_LIBS_OPENGL_ES2   = gdi32.lib user32.lib
QMAKE_LIBS_OPENGL_ES2_DEBUG = 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_IDL               = midl /NOLOGO
QMAKE_LIB               = lib /NOLOGO
QMAKE_RC                = rc /NOLOGO

VCPROJ_EXTENSION        = .vcproj
VCSOLUTION_EXTENSION    = .sln
VCPROJ_KEYWORD          = Qt4VSv1.0

include(angle.conf)

5、数据库插件配置相关文件修改:

TARGET = qsqlmysql

HEADERS += $$PWD/qsql_mysql_p.h
SOURCES += $$PWD/qsql_mysql.cpp $$PWD/main.cpp

#QMAKE_USE += mysql
QMAKE_LIBS += -llibmysql -lmysqlclient 

OTHER_FILES += mysql.json

PLUGIN_CLASS_NAME = QMYSQLDriverPlugin
include(../qsqldriverbase.pri)

INCLUDEPATH += "C:/MySQL/include"
LIBPATH += "C:/MySQL/lib"
TARGET = qsqloci

HEADERS += $$PWD/qsql_oci_p.h
SOURCES += $$PWD/qsql_oci.cpp $$PWD/main.cpp

#QMAKE_USE += oci
#QMAKE_INCDIR += "C:/instantclient_11_2/sdk/include"
#QMAKE_LIBDIR += "C:/instantclient_11_2/sdk/lib/msvc"
QMAKE_LIBS += -loci -lociw32 -loraocci11

darwin:QMAKE_LFLAGS += -Wl,-flat_namespace,-U,_environ

OTHER_FILES += oci.json

PLUGIN_CLASS_NAME = QOCIDriverPlugin
include(../qsqldriverbase.pri)

INCLUDEPATH += "C:/instantclient_11_2/sdk/include"
LIBPATH += "C:/instantclient_11_2/sdk/lib/msvc"
TARGET = qsqlodbc

HEADERS += $$PWD/qsql_odbc_p.h
SOURCES += $$PWD/qsql_odbc.cpp $$PWD/main.cpp

#QMAKE_USE += odbc
QMAKE_LIBS += odbc32.lib odbcbcp.lib odbccp32.lib

unix: DEFINES += UNICODE

OTHER_FILES += odbc.json

PLUGIN_CLASS_NAME = QODBCDriverPlugin
include(../qsqldriverbase.pri)

INCLUDEPATH += "C:/Program Files (x86)/Windows Kits/8.1/Include/um"
LIBPATH += "C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86"

【上述软件的安装、数据库客户端的安装路径,不要带空格!不要用他们的默认安装路径,指定到一个没有空格的安装路径里去。我在弄mysql时吃了亏。】

 

转载于:https://www.cnblogs.com/shuicaitian/p/8507691.html

你可能感兴趣的:(QT5静态编译源码使发布程序不依赖于dll且能运行于windowsXP系统)