Qt5项目在windows环境下发布所需依赖库

来源:互联网 发布:八皇后问题最简单算法 编辑:程序博客网 时间:2024/06/10 10:40

Qt 5项目发布的依赖链接库比较多,通过依赖查看工具(如ProcessExplorer),总算把Qt5项目发布所需的依赖库搞清楚了:

1.Qt模块库

Qt5Core.dll #QT核心库
Qt5Gui.dll #QT Gui库
Qt5Widgets.dll #QT Widgets库,QT 5中GUI程序基本都需要此dll
#还有其他程序用到的Qt5XXX.dll

2.ICU(International Component for Unicode,Unicode工具)依赖库

icudt49.dll
icuin49.dll
icuuc49.dll

3.QT插件库,相对路径必须保障正确

# 根据不同的程序,需要不同的插件库,如我的Oracle查询demo需要OCI驱动(参考文章最后的结构图)
#例如 QT_DIR/plugins/*/*.dll
# 需要将 platforms/*.dll,accessible/*.dll的文件结构保留
# 放在你所编译的程序所在目录
platforms/qwindows.dll
accessible/qtaccessiblewidgets.dll

4.EGL依赖库,为OpenGL,OpenGL es提供接口

libEGL.dll
libGLESv2.dll

5.mingw依赖库(msvc编译则无需这些库)

libgcc_s_sjlj-1.dll
libstdc++-6.dll
libwinpthread-1.dll

6.VC运行库(mingw编译则无需这些库)

msvcr110.dll(对应VS2012)
msvcp110.dll

如我的一个Oracle查询demo的结构图如下:<oracle查询>

├D3DCompiler_43.dll
├icudt49.dll
├icuin49.dll
├icuuc49.dll
├libEGL.dll
├libgcc_s_sjlj-1.dll
├libGLESv2.dll
├libstdc++-6.dll
├libwinpthread-1.dll
├oracle.exe
├Qt5Core.dll
├Qt5Gui.dll
├Qt5Sql.dll
├Qt5Widgets.dll
├<accessible>
│ └qtaccessiblewidgets.dll
├<platforms>
│ └qwindows.dll
├<sqldrivers>
│ └qsqloci.dll

如此一来,即使发布一个简单的空form,也大概有30M多,无奈。看官网消息,Qt5.1将能够静态编译(http://qt-project.org/wiki/New-Features-in-Qt-5.1),希望此项改进能为项目的发布带来便利