文章參看這裡。這個一般是由於我們編譯的Qt使用了WinCE CoreDll.dll中不存在的API導致的
我們需要使用一個工具qtverify.zip
免費下載地址在 http://linux.linuxidc.com/
用戶名與密碼都是www.linuxidc.com
具體下載目錄在 /2012年資料/8月/14日/Qt在程序WinCE5.0下部署時 XXX不是有效的Windows CE應用程序/
在第一個界面裡把你的Qt路徑填上,還有你的WinCE SDK的路徑,最後就是要輸出的代碼的位置,比如D:
然後下一步
這樣D:下就生成了一個文件夾,裡面有一個ceapp的代碼,使用qmake,nmake編譯成WinCE可執行文件
把這個ceapp.exe拷貝到你的WinCE設備上,運行.
如果執行正常,你會在你的根目錄下發現一個文件 qt_resolve.txt
然後,把這個文件拷回你的電腦上
在qtvertify第二個界面上把這個文件的路徑放進去
點Next
現在你就有分析的結果了
ole32.dll中CoCreateGuid不存在影響了QtGui4.dll,需要配置
Configure Qt with "-D QT_WINCE_FORCE_CREATE_GUID"
(每個WinCE可能都不一樣)
然後再重新configure 加上 -D QT_WINCE_FORCE_CREATE_GUID
這樣重新編譯Qt, 一切應該正常了, Good luck!