0

XCode3.2を搭載したMacOSX10.6で簡単なwxWidgetsアプリをコンパイルしています

リンカは、シンボル_mainが2回定義されている というエラーを返します。

  • main.mmに1回
  • test_app.cppファイルに1回。

マクロをコメントアウトした後:

Implement_App(TestApp)

エラーはなくなり、コンパイルおよびリンクされ、アプリケーションを実行できました。

私はこれをどこにも見つけていないので、これについて何かアイデアはありますか?

4

1 に答える 1

4

IMPLEMENT_APPwxWidgets で使用されるマクロで、プログラムが Windows、Mac、*nix などでコンパイルされるかどうかを気にすることなく、プログラムへのエントリ ポイントを作成します。この結果、定義する必要IMPLEMENT_APP mainあります(または などの同等のものWinMain)。

IMPLEMENT_APP_NO_MAINマクロが役立つ場合があります。IMPLEMENT_APP_XXXwx/app.hの他の関数も確認してください。

wxApp 概要のこの段落も少し役に立ちます。

IMPLEMENT_APP(appClass) の使用に注意してください。これにより、wxWidgets は、wxWidgets の初期化の適切な時点でアプリケーション オブジェクトのインスタンスを動的に作成できます。以前のバージョンの wxWidgets は、グローバル アプリケーション オブジェクトの作成に依存していましたが、アプリケーション オブジェクトの構築時に必要なグローバル初期化が実行されていない可能性があるため、これは推奨されなくなりました。

于 2009-11-19T22:01:36.953 に答える