Qt在Windows平台下的发布

来源:互联网 发布:网络系统验收标准 编辑:程序博客网 时间:2024/05/23 19:18

今天测试昨天写的Qt串口通信程序,但是我的机子上面没有串口,需要在其他电脑上进行测试运行。于是上网搜索如何进行Qt程序的发布,包括静态发布和动态发布两种。但是,网上给出的静态发布方式说是需要重新进行Qt源码编译,进而和应用程序静态链接到一起的,过程比较复杂费时,因而暂时放弃了这一发布方式;另一种动态发布比较简单,只要把需要的动态链接库拷贝到应用程序目录下,然后一同发布即可。

 

但是,需要注意的是,Qt动态发布的程序需要时release版的,因为Qt安装得到的dll只有release版的。可是,奇怪的是,我的Qt Creator居然在“Build – Set Build Configuration”中居然没有了“Release”选项,只有“Debug”选项。于是,只好在应用程序目录下通过make release得到应用程序的release版。

 

最后,经过上网搜索得知,QtWindows平台下的动态发布所需要的基本Dll包括:mingw32.dllQtCore4.dllQtGui4.dll。但是经过测试,发现会提示缺少libgcc_s_dw2-1.dll这个dll,于是就把它也给加上了,具体为什么要用到这个dll的原因还不得而知。

 

不过,好事多磨,测试的时候又发现了一个问题,点击运行程序的时候提示“无法定位程序输入点_Z5qFreePv于动态链接库QtCore4.dll上”。上网一搜,果然发现问题所在,dll链接的版本和我动态发布的版本不一样。首先,在系统的PATH路径中查看了下Qtbin目录是在“C:/Qt/2009.05/qt/bin”下,可知我编译链接到的dll是在该目录下的,而我刚才动态发布时拷贝的dll却是在“C:/Qt/2009.05/bin”目录下,二者不匹配,所以运行的时候出现了如上的错误。