如果你下载的qt sdk的完整版,应该使用的是wingw32编译器,在vs下是不能直接进行qt程序开发的,当然也包括了osg的开发了。如果你想在vs下使用qt及osg,你可以将qt sdk目录下的qt源代码包分离出来重新用vs编译即可(不过我还是建议你直接去下载qt的everywhere源代码包从头编译或者qt for vs 开发包直接使用)。
至于如何使用vs编译qt源代码,网络上有很多教材,照着做就行。(如果你下载的是 qt for vs开发包,就不必重新编译qt源文件了。至于要重新编译是因为使用wingw32或者vs编译器编译出来的dll文件不能通用,所以必须重新编译或者直接下载相应的开发包)。
其实就是这个原则:你使用什么编译器编译qt,你就必须使用相同的编译器编译osg即可。
qt开发一般可以使用vs(貌似这种情况下必须使用vs编译器,不知道我说的对不对)或者qtcreater(可以使用wingw32编译器,也可以使用vs编译器)。
我建议在win下还是使用vs比较好,因为在win下使用wingw32个人感觉非常慢,只要你的qt环境配置好后,无论使用qtcreater或者vs来开发程序,都可以使用vs的编译器的,而且这一切都是自动的,很方便。(vs下使用qt最好装上qt addin for vs插件以及vs编程助手),不过我一般使用qtcreater写代码,因为我觉得他的代码提示功能比vs速度快而且轻量级一些,因为如果使用vs的编译器,我们只是拿他当做一个代码编辑器而已,后面的编译连接都是使用的qmake和vs编译器。