wxWidgets在尝试使用EnableCheckBoxes()时遇到麻烦可能是CMake错误

时间:2017-06-16 09:00:34

标签: c++ linux cmake wxwidgets

我在尝试wxListCtrl :: EnableCheckBoxes时遇到了一些麻烦。

编译时我得到:class wxListCtrl has no member named 'EnableCheck Boxes

它应该有效,因为像official wiki上所说的那样  wx小部件,它应该从3.1.0开始可用。

一些可能的麻烦来源:

  1. wiki上似乎有一个拼写错误,它似乎是启用CheckBoxes而不是EnableCheckboxes(我每次都测试)

  2. 我不完全确定我的Cmake使用wxwidget的好版本(但我不知道如何检测到它(wx-config --version返回3.1.0

  3. 在CMakeFile中,我有一个FIND_PACKAGE(wxWidgets REQUIRED)(我不确定它是否找到了好的版本)

  4. 我必须自己构建库,结果* .so在/ usr / local / lib(make install之后的默认位置)但是我不确定它们是否在好地方

  5. 在需要使用EnableCheckB / box之前,我已经有了一个wxwidget,这就是为什么我不确定cmake使用的是什么版本

    最后,以下是我如何使用它:

    void f(wxListCtrl* Table)
    {
        Table->DeleteAllItems();
        Table->EnableCheckBoxes(); //or Checkboxes, same result
    }
    

    有没有人有想法? 谢谢!

1 个答案:

答案 0 :(得分:1)

该方法在3.1.0中称为EnableCheckboxes(),但为了与wx API的其他部分保持一致,稍后将其重命名为EnableCheckBoxes()。所以,如果你真的使用3.1.0,你应该拥有前者。

如果您不确定使用哪个版本,可以在编译期间使用wxCHECK_VERSION(x,y,z)宏进行检查。或者您也可以查看wx/version.h