2009-11-19 3 views
0

Я компиляция тривиального приложения WxWidgets на MacOS X 10.6 с XCode 3.2WxWidgets и «Implement_App» вызывает _main дублировать ошибки на символ

Линкер возвращает ошибку о символе _main определяются дважды:

  • один раз в main.mm
  • один раз в файле test_app.cpp.

После того как я закомментирована макрос:

Implement_App(TestApp) 

ошибка ушла, составленный & связанный, и я смог запустить приложение.

Я так и не нашел нигде, поэтому никаких идей по этому поводу?

ответ

4

IMPLEMENT_APP - макрос, используемый в wxWidgets для создания точки входа в программу, не беспокоясь о том, будет ли программа скомпилирована в Windows, Mac, * nix или что-то еще. В результате этого IMPLEMENT_APPимеет для определения main (или его эквивалента, например WinMain).

Возможно, вы найдете IMPLEMENT_APP_NO_MAIN macro. Проверьте другие функции IMPLEMENT_APP_XXX в wx/app.h.

Этот абзац the wxApp overview немного полезно тоже:

Обратите внимание на использование IMPLEMENT_APP (appClass), что позволяет WxWidgets динамически создавать экземпляр объекта приложения в соответствующий момент инициализации WxWidgets. Предыдущие версии wxWidgets используются для создания глобального объекта приложения, но это больше не рекомендуется, поскольку требуемая глобальная инициализация, возможно, не была выполнена во время построения объекта приложения.

+0

удивительный, спасибо, не знал, что – cbrulak

 Смежные вопросы

  • Нет связанных вопросов^_^