0

C++ dll アプリケーションにダイアログ ボックスを追加したいと考えています。まず第一に、これが可能かどうかを知りたいのですが、その後、どうすればプロジェクトをコンパイルできますか。

「MFC 標準ライブラリを使用して」構成を設定すると、次のエラーが表示されます。致命的なエラー C1189: #error : Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. #define _AFXDLL を使用するか、/MD[d] を使用しないでください。

共有 dll ファイルで MFC を使用して構成を設定すると、次のエラーが表示されます。

これに取り組む方法はありますか?windows.h ライブラリも利用しています。

4

2 に答える 2

1

はい、それは間違いなく可能です。「共有DLLでMFCを使用する」が必要です。

プリコンパイル済みヘッダーをオンにした場合はstdafx.h、プロジェクトにさまざまなヘッダーが含まれているはず#include <afx...>です。これらは、含める必要のあるMFCヘッダーです。

私が疑うあなたの2番目のエラーは。で消えRebuild Allます。

DoModal()発生する可能性がある、または発生しない可能性があるもう1つの問題は、ダイアログインスタンスを呼び出した後に何も起こらないことです。その場合AFX_MANAGE_STATE(AfxGetStaticModuleState())DoModal()

于 2012-07-10T16:15:35.753 に答える
0
  • MFC 標準ライブラリとは 標準 Windows ライブラリである必要があります。
  • 実際にダイアログ (CDialog など) に MFC を使用していますか? そうでない場合は、MFC を使用する必要はありません。
  • MFC を使用している場合は、MFC をサポートする DLL プロジェクトを作成し、すべての設定を検索して DLL に配置することをお勧めします。これには、C++ 設定、リンカー、およびマニフェストツール設定が含まれます。
于 2012-07-10T08:10:41.887 に答える