この質問が以前に尋ねられた場合はご容赦ください。しかし、広範囲に調べても何も見つからなかったことをお約束します (適切な検索用語を思い付かなかっただけかもしれません)。
状況は次のとおりです。クラスをエクスポートする MFC90 でビルドされた DLL があります (および、などのヘッダー ファイルで MFC オブジェクトを使用しますCString
) 。POSITION
この DLL をONEと呼びます。私は VS2010 にしかアクセスできないため、MFC ベースの DLL とアプリを MFC100 でビルドすることに制限されています。また、DLL ONEからエクスポートされたオブジェクトを使用する別の DLL をTWOと呼びます。これまでのところ問題なく動作しているように見えますが、MFC100 でビルドされた DLL を MFC90 でビルドされた DLL にリンクするときに、バグや奇妙な動作が本当に予想されるのか、それとも些細な問題なのかを知りたいです。
**注* *
- DLL ONEを再構築するオプションがありません。
- VS2010 を使用して MFC90 でアプリケーションをビルドする無料のオプションを探しましたが、解決策が見つかりませんでした。Windows SDK 6.01 を簡単にダウンロードできると読みましたが、Microsoft からダウンロードしたところ、MFC の痕跡はありませんでした。
- VS2008 を使用するオプションがありません(MFC に付属していない VS2008 Express を除く)。
- これはすべて会社独自のコードであるため、ソース コードを投稿することはできません。
**編集* *
- おそらく、DLL TWOは、DLL ONEによってエクスポートされたクラスへのポインターを引数として受け取る関数をエクスポートすることに言及する必要があります。
- エクスポートされたクラスは、MFC オブジェクトから派生したものではありません。エクスポートされたクラスは、MFC オブジェクトをメンバー変数、メンバー関数の引数として、またはメンバー関数内部でのみ使用します。これを 100% 確実に言うことはできませんが、クラスがや&
CString
のような POD 構造以上のものを利用しているとは思いません。POINT
POSITION