.lib 和 .dll 向后兼容性
Posted
技术标签:
【中文标题】.lib 和 .dll 向后兼容性【英文标题】:.lib and .dll Backward Compatibility 【发布时间】:2010-06-21 19:54:10 【问题描述】:我目前有一个 VS6 非托管 C 库,我以 .lib 或 .dll 的形式提供。我想升级到 VS2010,但我还有 VS6、VS2005 和 VS2008 的用户。
VS2010内置的.lib或.dll能否在VS6、VS2005或VS2008中使用?
谢谢!
【问题讨论】:
还是没有答案,我想知道答案。有人吗? 【参考方案1】:这取决于用于构建库的运行时。在将解决方案从 VS2005 升级到 VS2008 时,我通常会遇到这个问题。默认运行时库因版本而异。
当您构建 .lib 和 .dll 时,这些文件将与运行时的这些版本进行链接。当您在不同 VS 版本之间调试程序或在非开发人员机器上运行程序时,当使用不同运行时构建的程序集尝试跨边界传递信息时,通常会发现问题。详情请见http://msdn.microsoft.com/en-us/library/abx4dbyh.aspx。
【讨论】:
【参考方案2】:我知道这是一个旧帖子,但如果其他人遇到它,这可能很有用,从 vc6 升级到 vs2010 是一场噩梦,但还有另一种选择。您可以升级到 VS2010 环境,同时仍然使用 vc6 编译器。你需要的工具是 Daffodil,可以在这里找到http://daffodil.codeplex.com/
这是我们的解决方案,因为 VS2010 环境效率更高。
【讨论】:
以上是关于.lib 和 .dll 向后兼容性的主要内容,如果未能解决你的问题,请参考以下文章
Visual C++ 2012 可再发行版是不是与 2010 版本向后兼容?