2012-01-05 20 views
1

古いVS C++アプリケーションの翻訳を追加する必要があります。このアプリケーションと暗黙的にリンクするすべての.libファイルは、MFCを静的ライブラリとして使用してコンパイルされます。Visual Studio 8でコンパイル中に_AFXDLLコンパイラオプションを含める方法と "スタティックライブラリとしてMFCを使用する"

アプリを他の言語に翻訳するには、リソースdllを明示的に含める必要があります。私はで定義されたオブジェクトCDynLinkLibraryを使用します。

ここで問題は、afxdll_.hというヘッダーを含めると、エラーメッセージfatal error C1189: #error : file must be compiled with _AFXDLLが表示されることです。

MFCを共有ライブラリとして使用するプロジェクトを変更することは、多くの理由からオプションではありません。この制限を回避するにはどうすればよいですか?

+1

リソースDLLを使用するためにCDynLinkLibraryは必要ありません。 –

+0

@ MarkRansom - あなたはより精巧にできますか? –

答えて

1

CDynLinkLibraryを使用する代わりに、LoadLibraryExを使用してDLLを読み込み、AfxSetResourceHandleを呼び出してそのDLLからリソースを使用し始めます。

+0

しかし、あなたはリソースの連鎖がないので、exeのすべてのリソースを複製する必要があります。 – sashoalm

関連する問題