事前に感謝します... 問題: C++/CLI で記述された Wrapper (VS2012 で開発された v110 にリンク) がネイティブ DLL (VS2010 で開発された v100 にリンク) を使用しようとしているときに非互換性の問題があるかどうかを誰かが理解するのを手伝ってくれますか? )?
目的: .net 4.0 アプリケーションに取り組んでいます。VS2012 を開発環境として使用しています。このアプリケーションは、従来の C++ ネイティブ DLL の一部を使用する必要があります。そのために、Wrapper プロジェクトを作成しています。
問題: ラッパーで、ネイティブ DLL の API によって満たされる空のコンテナーとして std::vector オブジェクト参照を渡しています。この API は最初の要素を完全に正常に返しますが、2 番目の要素以降はすべてダングリング ポインターですか?? 何が悪かったのか理解するのを手伝ってください??
別の解決策: プロジェクト設定を変更して、Wrapper で v100 ツールセットをリンクすると、すべて正常に動作します。
質問:
- 私のシナリオでは、v110 と v100 は互いに互換性がありませんか?
- 利用可能な他の解決策はありますか?