小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Qt 5.9.4 如何靜態(tài)編譯和部署?

 水木天涯閣 2019-02-15

參考上面文檔后,發(fā)現(xiàn)需要安裝以下依賴:

  1. ActivePerl
  2. Python

成功安裝后即可開始編譯。

1.3 配置和編譯

修改配置

src\qtbase\mkspecs\common\msvc-desktop.conf
源:
QMAKE_CFLAGS_RELEASE = $$QMAKE_CFLAGS_OPTIMIZE -MD
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_OPTIMIZE -MD -Zi
QMAKE_CFLAGS_DEBUG = -Zi -MDd

修改后:
QMAKE_CFLAGS_RELEASE = $$QMAKE_CFLAGS_OPTIMIZE -MT
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_OPTIMIZE -MT -Zi
QMAKE_CFLAGS_DEBUG = -Zi -MTd

使用 msvc x86 命令行工具,cd 到 qt 源代碼目錄。

configure -confirm-license -debug-and-release -static -static-runtime -mp -accessibility -platform win32-msvc -qt-zlib -qt-libjpeg -qt-libpng -qt-freetype -opengl dynamic  -nomake examples -nomake tests -no-compile-examples -prefix "D:\Qt\Qt5.9.4\5.9.4\msvc2015_static_x86"
nmake
nmake install

//如需要靜態(tài)鏈接 -openssl 庫,則在上面的命令中追加以下語句:
-openssl-linked OPENSSL_INCDIR=D:\Qt\OpenSSL-Win32\include OPENSSL_LIBDIR=D:\Qt\OpenSSL-Win32\lib\VC\static OPENSSL_LIBS="-llibeay32MT -lssleay32MT -lGdi32"

//OPENSSL_INCDIR:頭文件目錄
//OPENSSL_LIBDIR:庫文件目錄
//OPENSSL_LIBS:靜態(tài)庫

-confirm-license        自動選擇開源協(xié)議
-debug-and-release      debug和release編譯
-static                 靜態(tài)編譯
-static-runtime     
-mp                     多線程編譯
-accessibility       可訪問性支持,官方建議開啟
-platform win32-msvc    選擇目標平臺
-qt-zlib -qt-libjpeg -qt-libpng -qt-freetype    使用qt自帶的圖像和壓縮處理庫,不使用系統(tǒng)的,默認是系統(tǒng)找不到則自動使用qt自帶的庫
-opengl dynamic         動態(tài)選擇加載庫方式 opengl
-nomake examples -nomake tests -no-compile-examples 不編譯例子
-prefix "D:\Qt\Qt5.9.4\5.9.4\msvc2015_static_x86"   指定生成目錄

更多請自行查看 configure -help

2. Qt 部署靜態(tài)庫

1. 把靜態(tài)編譯的庫移動到 Qt msvc2015 同級目錄下,然后復(fù)制已有的 qt msvc2015\bin\qt.conf 文件 和 qmlscene.exe。放入靜態(tài)庫 bin 里面。
2. 打開Qt ,選擇 工具->選項->構(gòu)建和運行->構(gòu)建套件(kit),克隆一個配置,然后再 Qt Versions 添加靜態(tài)編譯的庫 bin\qmake.exe
3. 修改 克隆配置 里面的 qt 版本,設(shè)置為 步驟 2 添加的即可。

...
現(xiàn)在就可以正式編譯 exe 程序了。

3. VS205 部署靜態(tài)庫

1. 安裝 Qt 插件
2. Qt VS tool -> Qt Options 添加一個 Qt Versions,選擇 靜態(tài)庫根目錄即可
3. 新建一個 Qt 工程,Qt Project Settings 設(shè)置為 步驟1 配置的版本。
4. C/C++->常規(guī)->附加包含目錄$(QTDIR)\plugins\platforms
5. 鏈接器->常規(guī)->附加庫目錄 添加 $(QTDIR)\plugins\platforms
6. 鏈接器->常規(guī)->附加依賴項 添加以下 *.lib 文件
qtmain.lib
Qt5Core.lib
Qt5Gui.lib
Qt5Widgets.lib

qwindows.lib
qtlibpng.lib
qtpcre2.lib
qtfreetype.lib
qtharfbuzz.lib

Qt5FontDatabaseSupport.lib
Qt5ThemeSupport.lib
Qt5AccessibilitySupport.lib
Qt5EventDispatcherSupport.lib

imm32.lib
winmm.lib
ws2_32.lib
dwmapi.lib
uxtheme.lib
version.lib

glu32.lib
opengl32.lib


main.cpp 最前面添加以下內(nèi)容:
#include <QtPlugin>
Q_IMPORT_PLUGIN(QWindowsIntegrationPlugin)
...以上操作后即可編譯 exe 程序。



最后補充一句,如何查找 模塊的靜態(tài)依賴?
在靜態(tài)編譯的lib文件夾里面查看 模塊的 prl 文件,里面詳細列舉的模塊的靜態(tài)依賴!需要使用該模塊了,就需要該靜態(tài)依賴!
rem 影子構(gòu)建
cd D:\Qt\Qt5.9.4\5.9.4\msvc2015_static_x86
D:\Qt\qt-everywhere-opensource-src-5.9.4\configure -confirm-license -debug-and-release -static -static-runtime -mp -accessibility -platform win32-msvc2015 -qt-zlib -qt-libjpeg -qt-libpng -qt-freetype -opengl dynamic -openssl-linked OPENSSL_INCDIR=D:\Qt\OpenSSL-Win32\static_ssl\include OPENSSL_LIBDIR=D:\Qt\OpenSSL-Win32\static_ssl\lib OPENSSL_LIBS="-llibeay32 -lssleay32 -lGdi32" -nomake examples -nomake tests -no-compile-examples -prefix "D:\Qt\Qt5.9.4\5.9.4\msvc2015_static_x86"
nmake
nmake install

@echo off
rem 設(shè)置環(huán)境變量
set MSVC_PATH="D:\Programs\Microsoft Visual Studio 12.0"

nmake clean

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多