要为此指针包含哪个头文件?我想制作一个带有两个按钮“Hello world”和“Close”的简单对话框。但对于OnClose函数,我在其中键入了wxTheApp-> Exit(),我的msvc10编译器说“未声明的标识符:wxTheApp”。我也在程序中包含了wx \ app.h,但是现在虽然它正在编译该部分,但它在我包含在项目中的文件的obj文件中显示了100个错误。一个这样的错误是 HelloframeGUI.obj:错误LNK2001:未解析的外部符号“public:virtual enum wxLayoutDirection __cdecl wxWindow :: GetLayoutDirection(void)const”(?GetLayoutDirection @ wxWindow @@ UEBA?AW4wxLayoutDirection @@ XZ)
有人可以帮忙吗?
#include "HelloframeGUI.h"
#include "wx/msgdlg.h"
#include "wx/app.h"
HelloframeGUI::HelloframeGUI( wxWindow* parent )
:
Helloframe( parent )
{
}
void HelloframeGUI::OnShowMessage( wxCommandEvent& event )
{
wxMessageBox( wxT("wxFormBuilder Tutorial") );// TODO: Implement OnShowMessage
}
void HelloframeGUI::OnClose( wxCommandEvent& event )
{
wxTheApp->Exit();// TODO: Implement OnClose
}
答案 0 :(得分:0)
看起来wxTheApp问题已经解决了。无论如何,我通常使用wxGetApp():wxGetApp()。Close()。 wxGetApp需要包含应用程序h文件(应该是您项目的一部分)。重置链接器错误,这是最小的wxWidgets库列表:
#ifdef _DEBUG #pragma comment (lib, "wxmsw28ud_core.lib") #pragma comment (lib, "wxbase28ud.lib") #else #pragma comment (lib, "wxmsw28u_core.lib") #pragma comment (lib, "wxbase28u.lib") #endif #pragma comment (lib, "comctl32.lib") #pragma comment (lib, "rpcrt4.lib")
将其添加到.cpp文件之一。如果您的项目不是Unicode,请从库名称中删除“u”。
答案 1 :(得分:0)
以下是使用Microsoft Visual C ++构建wxWidgets应用程序的详细教程。