如何发布Qt程序

yby4769250 2011-03-19 10:50:21
我在Windows下写了一个Qt的程序,现在想发布一下,我想问一下Qt有像VC那样的静态编译吗?小弟刚从VC转来玩Qt,不知道如何发布一个Qt程序,希望大家指点一下
...全文
724 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
寒山-居士 2013-05-15
  • 打赏
  • 举报
回复
程序媛 我按照你的X11 发布方法,还是不行呐
寒山-居士 2013-05-15
  • 打赏
  • 举报
回复
引用 1 楼 yiyaaixuexi 的回复:
1.Mingw:qmake mingw32-make release 而后将 可执行文件 与 需要的动态库放到同一个文件夹下,一般需要 myprogram.exe mingwm10.dll libgcc_s_dw2-1.dll qtcore4.dll qtgui4.dll 如果你不需要其他的插件,那么就可以发布程序了, jpg、gif、bmp 等格式的图片无法显示,这是因为 Qt 原生支持 png,而其他格式需要通过插件支持(插件在 %QTDIR%/plugins\imageformats 目录下) 你只需将需要的插件拷贝到可执行程序所在的目录下的 imageformats 目录下即可 myprogram.exe imageformats\qjpeg4.dll imageformats\qgif4.dll ... 同样,如果你的程序需要gb2312、gbk编码支持,那么需要将 %QTDIR%\plugins\codecs 目录下的相应插件拷贝到可执行程序所在目录下的 codecs 目录下 myprogram.exe codecs\qcncodecs4.dll ... 2.x11 使用操作系统为Ubuntu 10.04版本。 •再X11平台下发布QT程序 1.当然,先写好应用程序,准备好需要使用的资源,如库lib和插件plugins。 2.以计算器extcalc为例,找到extcalc所使用的那些libQt*.so.4共享库(无需链接!),放在同一个目录下。(可以不同,修改shell脚本即可。 可以使用ldd extcalc查看。 3.编写extcalc.sh文件,需要同名 写入如下内容: #!/bin/sh appname=`basename $0 | sed s,\.sh$,,` dirname=`dirname $0` tmp="${dirname#?}" if [ "${dirname%$tmp}" != "/" ]; then dirname=$PWD/$dirname fi LD_LIBRARY_PATH=$dirname export LD_LIBRARY_PATH $dirname/$appname $* 保存文件,使用chmod + x extcalc.sh附加执行权限。(若要调试,可使用sh -x extcalc.sh。 4.关于plugins,推荐使用qt.conf。 Entry Default Value Prefix QCoreApplication::applicationDirPath() Documentation doc Headers include Libraries lib Binaries bin Plugins plugins Data . Translations translations Settings . Examples . Demos . 最简单的qt.conf文件如下即可:插件再当前文件夹下的plugins文件夹里 [Paths] Prefix = . Plugins = plugins
程序媛 我按照你的X11 发布方法,还是不行呐
寒山-居士 2013-05-15
  • 打赏
  • 举报
回复
程序媛 我按照你的X11 发布方法,还是不行呐
引用 1 楼 yiyaaixuexi 的回复:
1.Mingw:qmake mingw32-make release 而后将 可执行文件 与 需要的动态库放到同一个文件夹下,一般需要 myprogram.exe mingwm10.dll libgcc_s_dw2-1.dll qtcore4.dll qtgui4.dll 如果你不需要其他的插件,那么就可以发布程序了, jpg、gif、bmp 等格式的图片无法显示,这是因为 Qt 原生支持 png,而其他格式需要通过插件支持(插件在 %QTDIR%/plugins\imageformats 目录下) 你只需将需要的插件拷贝到可执行程序所在的目录下的 imageformats 目录下即可 myprogram.exe imageformats\qjpeg4.dll imageformats\qgif4.dll ... 同样,如果你的程序需要gb2312、gbk编码支持,那么需要将 %QTDIR%\plugins\codecs 目录下的相应插件拷贝到可执行程序所在目录下的 codecs 目录下 myprogram.exe codecs\qcncodecs4.dll ... 2.x11 使用操作系统为Ubuntu 10.04版本。 •再X11平台下发布QT程序 1.当然,先写好应用程序,准备好需要使用的资源,如库lib和插件plugins。 2.以计算器extcalc为例,找到extcalc所使用的那些libQt*.so.4共享库(无需链接!),放在同一个目录下。(可以不同,修改shell脚本即可。 可以使用ldd extcalc查看。 3.编写extcalc.sh文件,需要同名 写入如下内容: #!/bin/sh appname=`basename $0 | sed s,\.sh$,,` dirname=`dirname $0` tmp="${dirname#?}" if [ "${dirname%$tmp}" != "/" ]; then dirname=$PWD/$dirname fi LD_LIBRARY_PATH=$dirname export LD_LIBRARY_PATH $dirname/$appname $* 保存文件,使用chmod + x extcalc.sh附加执行权限。(若要调试,可使用sh -x extcalc.sh。 4.关于plugins,推荐使用qt.conf。 Entry Default Value Prefix QCoreApplication::applicationDirPath() Documentation doc Headers include Libraries lib Binaries bin Plugins plugins Data . Translations translations Settings . Examples . Demos . 最简单的qt.conf文件如下即可:插件再当前文件夹下的plugins文件夹里 [Paths] Prefix = . Plugins = plugins
masterz 2011-03-21
  • 打赏
  • 举报
回复
QT可以实现静态编译,看看
http://developer.qt.nokia.com/wiki/Building_Qt_Desktop_for_Windows_with_MSVC
“Static” tips

Before you start to build a static Qt Desktop library, you must know that for now you will have a dependence with MSVC Redistributable. To escape this you must replace -MD(d) build flag with -MT(d) (I will not recommend you use it, because it can cause runtime errors, etc. For example with this configuration I cannot start QtDesigner app. The reason is unknown.)

It’s available as both Static and Shared builds.
qq419036154 2011-03-19
  • 打赏
  • 举报
回复
的地方
念茜 2011-03-19
  • 打赏
  • 举报
回复
1.Mingw:qmake
mingw32-make release
而后将 可执行文件 与 需要的动态库放到同一个文件夹下,一般需要

myprogram.exe
mingwm10.dll
libgcc_s_dw2-1.dll
qtcore4.dll
qtgui4.dll

如果你不需要其他的插件,那么就可以发布程序了, jpg、gif、bmp 等格式的图片无法显示,这是因为 Qt 原生支持 png,而其他格式需要通过插件支持(插件在 %QTDIR%/plugins\imageformats 目录下)

你只需将需要的插件拷贝到可执行程序所在的目录下的 imageformats 目录下即可

myprogram.exe
imageformats\qjpeg4.dll
imageformats\qgif4.dll
...
同样,如果你的程序需要gb2312、gbk编码支持,那么需要将 %QTDIR%\plugins\codecs 目录下的相应插件拷贝到可执行程序所在目录下的 codecs 目录下

myprogram.exe
codecs\qcncodecs4.dll
...


2.x11
使用操作系统为Ubuntu 10.04版本。

•再X11平台下发布QT程序

1.当然,先写好应用程序,准备好需要使用的资源,如库lib和插件plugins。

2.以计算器extcalc为例,找到extcalc所使用的那些libQt*.so.4共享库(无需链接!),放在同一个目录下。(可以不同,修改shell脚本即可。

可以使用ldd extcalc查看。

3.编写extcalc.sh文件,需要同名

写入如下内容:

#!/bin/sh

appname=`basename $0 | sed s,\.sh$,,`

dirname=`dirname $0`

tmp="${dirname#?}"

if [ "${dirname%$tmp}" != "/" ]; then

dirname=$PWD/$dirname

fi

LD_LIBRARY_PATH=$dirname

export LD_LIBRARY_PATH

$dirname/$appname $*

保存文件,使用chmod + x extcalc.sh附加执行权限。(若要调试,可使用sh -x extcalc.sh。

4.关于plugins,推荐使用qt.conf。

Entry Default Value

Prefix QCoreApplication::applicationDirPath()

Documentation doc

Headers include

Libraries lib

Binaries bin

Plugins plugins

Data .

Translations translations

Settings .

Examples .

Demos .

最简单的qt.conf文件如下即可:插件再当前文件夹下的plugins文件夹里

[Paths]

Prefix = .

Plugins = plugins

16,216

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧