2009-11-19 132 views
0

我编译一个简单的wxWidgets应用程序在Mac OS X 10.6的XCode 3.2的wxWidgets和“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是有用的。请检查wx/app.h中的其他IMPLEMENT_APP_XXX函数。

这一段从the wxApp overview是一点点也有帮助:

的使用注意事项IMPLEMENT_APP(appClass),它允许wxWidgets的以在wxWidgets的初始化中的适当位置动态创建的应用程序对象的实例。先前版本的wxWidgets过去依赖创建全局应用程序对象,但不再推荐这样做,因为在应用程序对象构建时可能没有执行所需的全局初始化。

+0

真棒,谢谢,不知道 – cbrulak 2009-11-19 22:12:39

相关问题