我刚学QT不久,是一直在WINDOWS环境下学习的!
我现在做了一个小东西,想传给别人用,别人没有QT就不能用了么?
MFC所创建的工程,生成的.EXE文件能在别人的机子上运行。
但是QT貌似不行,不知道应该怎么做才行?
难道把QT的库打包一起传给别人么?
希望前辈指点,或提供相关资料,在此非常谢谢!
------解决方案--------------------
编译好后,是一个exe文件,在自己的电脑上点击它是可以直接运行的。
这个时候,你把这个exe文件拷到别人电脑上,点它做试验,由于每次点开由于缺少文件会出错,就把这个文件拷到这个exe同一目录下,试几次,就行了,总共也不用拷几个文件。
我就是经常这么做的。
还有一种办法,这样写的程序是需要运行时环境的,就是qt的dll文件,也可以写不依赖,直接在编译时把需要的函数一起编译到exe文件中,这样的弊端是没有dll文件便于更新程序,dll方式exe可以不动,再有可能会比较大。
具体作法,在生成发生里选“在静态库中使用MFC”(vs2010这这样选),由于提供的qt库不一定是静态库,不保证起作用。
------解决方案--------------------
下载个depends22_x86,然后查看都具体用到了什么库,再拷贝到一起打包
------解决方案--------------------
如果大小不是问题,需要包含以下文件,(执行时缺哪个再补充,具体看你用到了哪些dll库):
libgcc_s_dw2-1.dll
mingwm10.dll pthreadGC2.dll
qt.conf QtCore4.dll QtCored4.dll
QtGui4.dll QtGuid4.dll QtNetwork4.dll
QtNetworkd4.dll QtSql4.dll QtSqld4.dll
[plugins]
#####上面包含了debug版和release版所需的Qt库,带d的为debug版所需,红色为必须######
C:\bin\plugins 的目录
2012/03/30 19:55 <DIR> .
2012/03/30 19:55 <DIR> ..
2012/03/30 19:55 <DIR> imageformats
2012/03/30 19:55 <DIR> sqldrivers
------解决方案--------------------
关于静态编译的方法网上有好多,关键是 configure 的时候设上 -static选项