Visual Studio 2010和QT 4.7.1静态链接
问题描述:
这里有一个问题,应用程序仍然需要MSVCR100.dll和MSVCR100.dll。Visual Studio 2010和QT 4.7.1静态链接
构建QT来源:
- 集QMAKESPEC = Win32的msvc2010
- 配置-platform Win32的msvc2010 -static
- NMAKE
安装后我很setuping我的项目并将选项设置为/ MT/ZI。仍然 - 我的项目需要MSVCR100.dll和MSVCR100.dll。
答
你应该使用这些库的DLL版本,包括可再发行的支持,安装 - 这是有几个原因(主要是与安全更新办)微软首选方式
我的猜测是,即使-static Qt使用使用DLL(可能的webkit或使用MS特征的多媒体类)
+0
Dependency Walker会告诉你为什么。 – MSalters 2011-01-10 16:23:51
答
它应该是这样一些运行时组件。
从Qt文档:
“Qt是使用-MD(d)开关,哪个环节对动态C/C++运行时库这是必要的,因为我们使用的任何时候都经历过内存问题建。但-MD(d)标志,而在一般情况下,推荐使用。你不应该改变自己这个标志的申请,因为它与Qt库是如何,如果你改旗为-MT建相冲突。不应该改变它为Qt,因为它很可能会导致问题“
更多信息可在这里找到:
有甚至不应该建立一个静态库时,链接步骤。相反,库管理工具`lib.exe`收集所有`.obj`文件到`.lib`。 究竟有什么期待呢? – 2011-01-10 06:04:36