1

私が達成したいこと:

mfc 以外の大きな既存のプロジェクトがあります。

cdialogs が定義されているスタティック ライブラリを作成しました。

このライブラリを mfc 以外のアプリケーションで使用することは可能ですが、方法がわかりません。

afxwinmain()、InitInstance、run() などで発生する mfc エントリポイントと初期化についてよく読んでいます。

メインアプリケーションで私のライブラリからcdialogsを使用する方法を誰かが提案できますか?

4

1 に答える 1

1

@satuonのおかげで、これまでのところあなたの仮定はうまくいきました。

実際に afxwinmain() 関数内の mfc コードを静的ライブラリの関数 (私の場合は cwinapp メソッド) にコピーしました。

メイン アプリケーションで、cwinapp オブジェクトを外部として宣言しました。次に、theApp.InitMFC() を呼び出すだけで機能します。

例:

extern MyCWinApp theApp;
theApp.InitMFC();

私の場合、theApp はグローバルです。

于 2012-07-02T08:48:55.937 に答える