2

混合モードC++アプリケーションはVS2012を使用して構築され、マネージDLL Noesis.Javascript.dll(VS2010で構築されたと思います)を参照し、実行時にmsvcr100.dllとリンクします。

VS2012のmsvcr110.dllからライブラリ関数を呼び出すNoesis.Javascript.dll内のコードを表示しているように見えるクラッシュを観察しました。

2つの異なるバージョンのC++ランタイムライブラリを使用して単一のプロセスを実行することは可能ですか、それともここで何が起こっているのかが問題の原因である可能性がありますか?代替手段は何ですか?

4

2 に答える 2

1

たとえばこの回答で述べたように、これらのバイナリを組み合わせるのは事実上不可能です。クラッシュはおそらく非互換性が原因です。

次のことを試すことができます:[プロジェクトのプロパティ]->[一般]->[プラットフォームツールセット:Visual Studio 2010(v100)]。

于 2013-02-26T13:12:43.967 に答える
1

同じプロセスで両方のランタイムDLLを使用することは可能ですが、安全に使用するには、一方のオブジェクトが他方で使用されないように細心の注意を払う必要があります。

于 2013-02-27T05:04:46.300 に答える