在Windows下QT默認(rèn)的不支持JPG,GIF等格式的圖片顯示。即使你編譯時(shí)加了-qt-libjpeg –qt-gif等選項(xiàng)也未必可以顯示出來(lái)(針對(duì)QT4.4以上版本的)。一般在EXE程序下將QT庫(kù)下的plugins\imageformats文件夾整個(gè)COPY過(guò)去即可,但COPY imageformats文件夾到EXE同一目錄后還是加載不了imageformats的dll文件,最后我碰碰運(yùn)氣,把Microsoft.VC90.DebugCRT.manifest, msvcp90d.dll, msvcr90d.dll文件也COPY到imageformats下,運(yùn)行,果然行了。雖然行了,但你運(yùn)行Process Explorer看看EXE所加載的dll,它加載了兩個(gè)msvcp90d.dll。最后沒(méi)有用這種方法。
第二種方法:
另外的辦法是在編譯QT庫(kù)之前在插件的pro文件中加入
CONFIG-=embed_manifest_dll
http://hi.baidu.com/cyclone/blog/item/d77a86182fb915b84bedbc57.html
第三種方法:
還有另一種方法,這種方法是在QT庫(kù)編譯時(shí)沒(méi)有加CONFIG-=embed_manifest_dll時(shí)用,
在main函數(shù)里加入如下代碼:
然后把相應(yīng)的DLL文件拷貝到EXE同一文件夾下,運(yùn)行就可以了。