2

混合模式 C++ 应用程序是使用 VS2012 构建的,它引用托管 DLL Noesis.Javascript.dll(我相信它是使用 VS2010 构建的),而后者又在运行时与 msvcr100.dll 链接。

我观察到一个崩溃,它似乎显示了 Noesis.Javascript.dll 中的代码从 VS2012 的 msvcr110.dll 调用库函数。

是否可以使用两个不同版本的 C++ 运行时库运行单个进程,或者这里发生的情况可能是问题的原因?什么是替代方案?

4

2 回答 2

1

正如在这个答案中提到的,实际上不可能组合这些二进制文件。崩溃可能是由不兼容引起的。

您可以尝试以下操作:项目属性 -> 常规 -> 平台工具集:Visual Studio 2010 (v100)。

于 2013-02-26T13:12:43.967 回答
1

可以在同一个进程中使用两个运行时 DLL,但要安全地这样做需要非常小心,以确保不会在另一个进程中使用来自一个的对象。

于 2013-02-27T05:04:46.300 回答