我努力寻找一种方法,为使用Qt和Visual Studio 2010提供稳定的解决方案,因此在收集了所有信息和一些反复试验后,我想将我的解决方案写入指南.
似乎使用为Visual Studio 2008构建的二进制文件可能在某些特殊情况下工作,但我发现它们无法工作.在我的情况下,他们编译好,但他们产生运行时错误,如下所示:

或者从Visual Studio 2010启动时:

更新:我发现一篇博客文章分析了为什么它适用于某些人,而不适用于其他人.总之,这取决于您是否在同一台计算机上安装了Visual Studio 2008. http://blog.paulnettleship.com/2010/11/11/troubleshooting-visual-studio-2010-and-qt-4-7-integration/
最重要的是(我愚蠢地没有意识到),如果你没有安装Visual Studio 2008,你就不能使用Visual Studio 2008编译的库和dll(可在Qt网页上找到).原因是你下载的Qt SDK是一个调试版本,它依赖于VC9.0 DebugCRT,这意味着它需要安装Visual C++ 2008 Debug Runtime,它不能作为可再发行的安装程序使用.安装DebugCRT的唯一方法是安装整个Visual Studio 2008.
我使用的是qt 4.5
我创建了一个项目,我想在Visual Studio 2008上为windows mobile 6.0编译所以我创建了这样做的项目文件:
D:\Projects\Phone_PDA\Phone_PDA>set QMAKESPEC=win32-msvc2008
D:\Projects\Phone_PDA\Phone_PDA>qmake -tp vc
Run Code Online (Sandbox Code Playgroud)
VS项目已创建.但是,当我尝试编译时,我收到此错误:LINK:致命错误LNK1181:无法打开输入文件'c:\ Qt\qt\lib\qtmaind.lib'
但是,当我检查我的图书馆并包含在visual studio中的项目属性下.我有这个:
Additional Include Directories
c:\Qt\qt\include\QtCore
c:\Qt\qt\include\QtGui
c:\Qt\qt\include
c:\Qt\qt\include\ActiveQt
debug
c:\Qt\qt\mkspecs\win32-msvc2008
Additional Library Directories
c:\Qt\qt\lib
Additional Dependencies
c:\Qt\qt\lib\qtmaind.lib
c:\Qt\qt\lib\QtGuid4.lib
c:\Qt\qt\lib\QtCored4.lib
Run Code Online (Sandbox Code Playgroud)
但是,当我浏览目录c:\ Qt\qt\lib时,我只有:qtmain.prl和qtmaind.prl但是,我没有qtmaind.lib或qtmain.lib
非常感谢任何建议,