VS2013 编译 Qt 5.8.0
- 下载Qt源码
https://download.qt.io/archive/qt/5.8/5.8.0/single/qt-everywhere-opensource-src-5.8.0.zip
将源码解压缩,我放到了E盘根目录,然后将qt-everywhere-opensource-src-5.8.0文件夹名字改为Qt
在Qt目录下新建文件build.bat,内容如下:
REM Set up \Microsoft Visual Studio 2013, where
is \c amd64, \c x86, etc.
CALL “C:\ProgramFiles\Microsoft Visual Studio 12.0\VC\vcvarsall.bat” x86
SET _ROOT=E:\Qt
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-msvc2013
SET _ROOT=打开cmd窗口,cd进入E:\Qt,输入build.bat初始化编译环境
输入命令:configure -prefix “E:\Qt\build” -platform win32-msvc2013 -nomake tests -nomake examples,初始化编译配置
输入命令:nmake,开始漫长的编译…………
编译完成后,可以在目录E:\Qt\qtbase\lib下找到Qt5Core.dll, Qt5Gui.dll等链接库文件,在目录E:\Qt\qtbase\plugins\platforms下找到qwindows.dll等链接库文件
//===============================================================================================
// 静态编译
打开 E:\Qt\qtbase\mkspecs\common\msvc-desktop.conf
将
QMAKE_CFLAGS_RELEASE = -O2 -MD
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MD -Zi
QMAKE_CFLAGS_DEBUG = -Zi -MDd
改为
QMAKE_CFLAGS_RELEASE = -O2 -MT
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MT -Zi
QMAKE_CFLAGS_DEBUG = -Zi -MTd
即将MD改成MT,MDd改成MTd。动态改成静态
使用命令:configure -prefix “E:\Qt\build” -platform win32-msvc2013 -static -nomake tests -nomake examples
VS2013工程需要做以下改动以进行静态链接
属性 -> C/C++ -> 预处理器 -> 预处理器定义
QT_DLL 修改为 QT_STATIC
属性 -> 链接器 -> 输入 -> 附加依赖项:
ws2_32.lib
Winmm.lib
imm32.lib
UxTheme.lib
dwmapi.lib
dxguid.lib
d3d9.libqtmaind.lib
Qt5Cored.lib
Qt5Guid.lib
Qt5Widgetsd.lib
qtpcred.lib
libEGLd.lib
libGLESv2d.lib
Qt5OpenGLd.lib
qtlibpngd.lib
qtharfbuzzd.lib
translatord.lib
preprocessord.lib
Qt5PlatformCompositorSupportd.lib
qwindowsd.lib
qtfreetyped.lib
Qt5FontDatabaseSupportd.lib
Qt5EventDispatcherSupportd.lib
Qt5AccessibilitySupportd.lib
Qt5ThemeSupportd.lib修改main.cpp
include
Q_IMPORT_PLUGIN(QWindowsIntegrationPlugin);
还没有评论,来说两句吧...