第一课:Hello World

本文记录了一次使用wxWidgets进行编程的经历,在Visual Studio 2008中创建Hello World程序时遇到链接错误,并找到了通过设置预处理器宏WXUSINGDLL解决问题的方法。

决心很好地学习如何编程了。因为这是做科研的一把利器。

http://www.wxwidgets.org/docs/tutorials/hello.htm中介绍了wxWidgets的Hello World程序。

在vs2008中,新建了一个空的solution之后,我把源代码拷贝到一个cpp文件中。

然后把该project的Additional Include Directories改为:   "$(WXWIN)/include";"$(WXWIN)/lib/vc_dll/mswud"

把Additional Library Directories改为: "$(WXWIN)/lib/vc_dll"

把Additional Dependencies 改为:wxbase28ud.lib wxbase28ud_net.lib wxbase28ud_odbc.lib wxbase28ud_xml.lib wxexpatd.lib wxjpegd.lib wxmsw28ud_adv.lib wxmsw28ud_aui.lib wxmsw28ud_core.lib wxmsw28ud_dbgrid.lib wxmsw28ud_gl.lib wxmsw28ud_html.lib wxmsw28ud_media.lib wxmsw28ud_qa.lib wxmsw28ud_richtext.lib wxmsw28ud_xrc.lib wxpngd.lib wxregexud.lib wxtiffd.lib wxzlibd.lib

 

注:WXWIN为环境变量。其内容就是wxWidgets所在的路径

 

然后开始编译,发现居然出现了错误,如下:

1>main.obj : error LNK2001: unresolved external symbol "protected: static struct wxEventTable const wxFrame::sm_eventTable" (?sm_eventTable@wxFrame@@1UwxEventTable@@B)
1>main.obj : error LNK2001: unresolved external symbol "protected: static class wxAppConsole * wxAppConsole::ms_appInstance" (?ms_appInstance@wxAppConsole@@1PAV1@A)
1>main.obj : error LNK2001: unresolved external symbol "public: static unsigned int const wxStringBase::npos" (?npos@wxStringBase@@2IB)
1>main.obj : error LNK2001: unresolved external symbol "wchar_t const * const wxStatusLineNameStr" (?wxStatusLineNameStr@@3QB_WB)
1>main.obj : error LNK2001: unresolved external symbol "wchar_t const * const wxEmptyString" (?wxEmptyString@@3PB_WB)
1>main.obj : error LNK2001: unresolved external symbol "wchar_t const * const wxFrameNameStr" (?wxFrameNameStr@@3QB_WB)
1>main.obj : error LNK2001: unresolved external symbol "int const wxEVT_NULL" (?wxEVT_NULL@@3HB)
1>main.obj : error LNK2001: unresolved external symbol "int const wxEVT_COMMAND_MENU_SELECTED" (?wxEVT_COMMAND_MENU_SELECTED@@3HB)
1>main.obj : error LNK2001: unresolved external symbol "protected: static class wxAppConsole * (__cdecl* wxAppConsole::ms_appInitFn)(void)" (?ms_appInitFn@wxAppConsole@@1P6APAV1@XZA)

 

 

解决方法:

 

在网络上面找到一个非常好的解决方法。就是在Preprocessor中添加 WXUSINGDLL 即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值