0

该指针要包含哪个头文件?我想用两个按钮“Hello world”和“Close”制作一个简单的对话框。但是对于 OnClose 函数,我在其中键入了 wxTheApp->Exit(),而我的 msvc10 编译器显示“未声明的标识符:wxTheApp”。我也在程序中包含了 wx\app.h,但现在虽然它正在编译该部分,但它在我包含在项目中的文件的 obj 文件中显示了 100 个错误。一个这样的错误是 HelloframeGUI.obj : error LNK2001: unresolved external symbol "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
}
4

2 回答 2

0

这是关于使用 Microsoft Visual C++ 构建 wxWidgets 应用程序的详细教程。

http://wiki.wxwidgets.org/Microsoft_Visual_C%2B%2B_Guide

于 2011-10-03T12:44:21.097 回答
0

看起来 wxTheApp 问题已经解决了。无论如何,我通常为此使用 wxGetApp():wxGetApp().Close()。wxGetApp 需要包含应用程序 h 文件(应该是您项目的一部分)。Regadring 链接器错误,这是所需的最少 wxWidgets 库的列表:

#ifdef _DEBUG
#pragma 注释(lib,“wxmsw28ud_core.lib”)
#pragma 注释(lib,“wxbase28ud.lib”)
#别的
#pragma 注释(lib,“wxmsw28u_core.lib”)
#pragma 注释(lib,“wxbase28u.lib”)
#万一

#pragma 注释(lib,“comctl32.lib”)
#pragma 注释(lib,“rpcrt4.lib”)

将其添加到 .cpp 文件之一。如果您的项目不是 Unicode,请从库名称中删除“u”。

于 2011-10-03T08:48:53.227 回答