文章参看这里。这个一般是由于我们编译的Qt使用了WinCE CoreDll.dll中不存在的API导致的
我们需要使用一个工具qtverify.zip
具体下载目录在 /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!