在Windows下QT默认的不支持JPG,GIF等格式的图片显示。即使你编译时加了-qt-libjpeg –qt-gif等选项也未必可以显示出来(针对QT4.4以上版本的)。一般在EXE程序下将QT库下的plugins\imageformats文件夹整个COPY过去即可,但COPY imageformats文件夹到EXE同一目录后还是加载不了imageformats的dll文件,最后我碰碰运气,把Microsoft.VC90.DebugCRT.manifest, msvcp90d.dll, msvcr90d.dll文件也COPY到imageformats下,运行,果然行了。虽然行了,但你运行Process Explorer看看EXE所加载的dll,它加载了两个msvcp90d.dll。最后没有用这种方法。
第二种方法:
另外的办法是在编译QT库之前在插件的pro文件中加入
CONFIG-=embed_manifest_dll
http://hi.baidu.com/cyclone/blog/item/d77a86182fb915b84bedbc57.html
第三种方法:
还有另一种方法,这种方法是在QT库编译时没有加CONFIG-=embed_manifest_dll时用,
在main函数里加入如下代码:
然后把相应的DLL文件拷贝到EXE同一文件夹下,运行就可以了。