我一直无法找到很多或任何有关这方面的信息。我有一个使用VS2005构建的项目,因此使用mscvr80.dll。我的项目也加载第三方库,然后加载mscvrt60.dll。加载多个mscvrt **。dll版本是否存在问题?
现在我有一个奇怪的错误在我的程序中的程序崩溃与内存读取违规(调试它在0xcdcdcdcd,从我的搜索描述非初始化的内存位置)。调试程序指示违规在第三方库中的未知功能内。
我已联系此库的所有者,他们不知道任何错误,如上所述。另外,我还有其他项目,使用VS60编译,使用这个第三方库,并没有类似的错误。因此我想知道,使用多个通用运行时版本会有问题吗?我记得隐约听到一个运行时(比如在.dll中)可以分配内存的情况,然后如果另一个版本试图释放这个内存,那可能会导致问题。但是,我不记得我在哪里阅读这些内容,也无法找到关于此主题的很多信息。
任何输入,非常感谢。
有没有简单的方法来编译我的项目对V60?没有真正尝试将解决方案降级到Visual C++ 6.0? – DeusAduro 2010-06-22 16:39:11
那么,如果您安装了VC6,则可以在链接器设置中选择“无默认库”选项。然后手动将其指向较旧的馆藏。 – 2010-06-22 17:03:06