我有我想要使用Qt库,这样我就可以使供更多的平台重新编译一个Windows屏幕保护程序。 我现在面临与Vista和XP的部署问题。
我静态编译我的屏幕保护MT,并运行依赖检查。 结果如下:
MyScreensaver.SCR需要几个DLLS,QTCORE4.DLL但没有MSVCx80.DLLs。 到目前为止,这是好的。
我的问题是QTCORE4.DLL反过来,确实需要MSVCP80.DLL和MSVCR80.DLL结果我的应用程序无法在Vista系统上运行。
我可以建立QTCORE4.DLL是静态链接的Microsoft库(也许LIBCMT.LIB?),所以我没有在MS CRT DLL的关联性?
限制:
我不希望有用户安装MS VC再发行。 该屏幕只有1 MB,它是ridiculus要求用户只是一个屏幕保护程序做了他的电脑这么多的变化。
我不希望使用的伎俩把MS CRT的DLL在同一应用程序的路径与屏幕,因为屏幕保护程序都安装在system32下,我想那里安装最小可能的文件。
最后,我宁愿产生单片方案,而那一堆的DLL
我试图QT的一个完整的静态编译和链接,但是这是不允许的(如果我理解正确的,在LGPL),也因此不建议根据此: http://www.qtsoftware.com/developer/faqs/为什么-确实-A-静态内置QT-使用最动态视觉工作室运行时库-DO-I-需要部署的,那些与-我的应用程序
试图在各个方向的解决方案后,似乎最可行的一个是使用QTCore4.dll和QTGui4.dll,但让他们静态链接到MSVCRT。 这样一来,无论是我的计划,也没有QT的DLL将有MSVCRT DLL的依赖。
有针对这个的解决方法吗? (我是新来QT编程)
谢谢你,迈克尔·