.lib和.dll的向后兼容性问题

9

目前我有一个用于VS6的非托管C库,可以作为.lib或.dll提供。我想升级到VS2010,但仍有使用VS6、VS2005和VS2008的用户。

在VS2010中构建的.lib或.dll是否可以在VS6、VS2005或VS2008中使用?

谢谢!


还没有答案,我想知道答案。有人吗? - Benny
2个回答

2
这取决于用于构建库的运行时。我通常在从VS2005升级到VS2008的解决方案中遇到这个问题。不同版本的默认运行时库是不同的。
当您构建.lib和.dll文件时,这些文件会链接到该运行时的版本。通常会在使用不同版本的VS调试程序或在非开发人员机器上运行程序时发现问题,因为使用不同运行时构建的程序集尝试跨边界传递信息。有关详细信息,请参见http://msdn.microsoft.com/en-us/library/abx4dbyh.aspx

1

我知道这是一个旧帖子,但如果其他人遇到此问题,这可能会有用。从vc6升级到vs2010是一场噩梦,但有一个替代方案。您可以在仍使用vc6编译器的情况下升级到VS2010环境。您需要的工具是Daffodil,可以在此处找到http://daffodil.codeplex.com/

这是我们的解决方案,因为VS2010环境更加高效。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接