私は検索しましたが、効果やメカニズムのような意味のある説明をヒットしませんでしたので、わかりました。 「意味の説明」たとえば、オンライン_DEBUG
プリプロセッサを説明する、非常にいくつかの材料があるが、それをオンにする方法assert
などプリプロセッサ `_AFXDLL`はどういう意味ですか?
MSDNのページ#1 Building Settings for an MFC DLL for Visual Studio 6.0これは、1)通常のDLLのために静的にMFCrequiredにリンクされていないと言うことができます2)通常のDLL、共有MFC DLL、または3)拡張DLLを使用する場合に必要です。しかしそれ以上の説明はありません。
MSDN言及したページ#2 AFXDLL Versions簡単に:代わりに静的にMFC オブジェクトコードのライブラリにリンクすることによって、アプリケーションを構築する
、あなたは AFXDLLライブラリのいずれかを使用するようにアプリケーションを構築することができ、その複数のアプリケーションが共有することができるDLLにMFCが含まれています。 AFXDLL名の表については、DLL:Naming の表記規則を参照してください。
注:既定では、MFCアプリケーションウィザードはAFXDLL プロジェクトを作成します。代わりにMFCコードの静的リンクを使用するには、 でMFCを使用するMFCアプリケーションウィザードでスタティックライブラリオプションを設定します。静的リンク は、Visual C++のStandard Editionでは使用できません。
が、私もこのAFXDLL
が_AFXDLL
プリプロセッサに関連しているかはわかりません。
StackOverflowのポストUnexplainable error "Please use the /MD switch for _AFXDLL builds"と#error Please use the /MD switch for _AFXDLL buildsは/MT
または_AFXDLL
と/MTd
紛争が、これはMSDNのページ#1、何も新しいと同じであることを説明しました。
誰かがPLS _AFXDLL
プリプロセッサが何を意味し
- を説明してもらえますか?元の動機は?
- コンパイルやリンクにどのような影響がありますか?
- は廃止されましたか?
- は、
AFXDLL
ライブラリに関連するプリプロセッサですか?_AFXDLL
です。実際には、いわゆるAFXDLLライブラリとは何ですか?
AFXDLLに対してコンパイルするときにコンパイラによって定義された '_AFXDLL'はありませんか?ターゲットに依存する機能を追加することができます。 – Steeve
AFXDLLとは何ですか? – athos
MFCライブラリを使用している場合は、ドキュメントに記載されているとおり、静的に実行可能ファイルにリンクするか、共有DLLから使用することができます。 AFXDLLビルドでは、共有DLLからそれらを使用します。 – Steeve