我正在使用 XCode 3.2 在 MacOS X 10.6 上编译一个简单的 wxWidgets 应用程序
链接器返回关于符号_main
被定义两次的错误:
- 一次在 main.mm
- 一次在 test_app.cpp 文件中。
在我注释掉宏之后:
Implement_App(TestApp)
错误消失,编译和链接,我能够运行应用程序。
我在任何地方都没有找到这个,所以有什么想法吗?
我正在使用 XCode 3.2 在 MacOS X 10.6 上编译一个简单的 wxWidgets 应用程序
链接器返回关于符号_main
被定义两次的错误:
在我注释掉宏之后:
Implement_App(TestApp)
错误消失,编译和链接,我能够运行应用程序。
我在任何地方都没有找到这个,所以有什么想法吗?
IMPLEMENT_APP
是 wxWidgets 中使用的一个宏,用于创建程序的入口点,而无需担心程序是否会在 Windows、Mac、*nix 或其他任何平台上编译。因此,IMPLEMENT_APP
必须定义main
(或其等价物,例如WinMain
)。
您可能会发现IMPLEMENT_APP_NO_MAIN
宏很有用。检查IMPLEMENT_APP_XXX
wx/app.h 中的其他函数。
wxApp 概述中的这一段也有点帮助:
注意 IMPLEMENT_APP(appClass) 的使用,它允许 wxWidgets 在 wxWidgets 初始化的适当位置动态创建应用程序对象的实例。以前版本的 wxWidgets 过去依赖于创建全局应用程序对象,但不再推荐这样做,因为在应用程序对象构建时可能没有执行所需的全局初始化。