警告:' virtual void wxWindowBase :: SetInitialBaseSize(const wxSize&)'已弃用

时间:2018-01-04 10:00:17

标签: c++ codeblocks wxwidgets

我刚刚解决了在codeBlocks中找不到lwxmwsu31u.a的wxWidget错误,当我尝试构建并运行我的第一个c ++ wxwidget示例时,我收到此警告"警告:' virtual void wxWindowBase :: SetInitialBaseSize(const wxSize&)'已被弃用",有大约245个警告,我不知道如何解决它们。请帮忙。

2 个答案:

答案 0 :(得分:1)

编译器告诉您库不再使用您尝试调用的方法。因此编译器无法与之链接。 wxWindow class reference也未提及您的函数调用。 相反,请尝试使用



wxWindow::SetInitialSize (const wxSize &size=wxDefaultSize)




您的245警告中有一条很可能会告诉您使用SetInitialSize。

答案 1 :(得分:0)

这是 MinGW GCC编译器版本的已知问题< 5.3 (与“断言”实施有关)。

解决方法是修改yourWxDir/include/wx/window.h: 左下1740行,直到看到

wxDEPRECATED_MSG("use SetInitialSize() instead.") 
void SetBestSize(const wxSize& size); 
wxDEPRECATED_MSG("use SetInitialSize() instead.")
virtual void SetInitialBestSize(const wxSize& size);

替换最后两行(第二行wxDEPRECATED_MSG)
#if !wxCHECK_GCC_VERSION(5, 0)
    wxDEPRECATED_MSG("use SetInitialSize() instead.")
#endif
virtual void SetInitialBestSize(const wxSize& size);

如果您自己构建了wxWidgets(而不是预先构建的下载),那么请重新构建它。

如果您使用预编译的标头,请删除.pch个文件并重建您的应用。