wxlua icon indicating copy to clipboard operation
wxlua copied to clipboard

Compilation errors with propgrid enabled with wxWidgets 3.3

Open sokolas opened this issue 2 years ago • 2 comments

Hi!

I'm trying to compile wxlua with the current version of wxWidgets from master (3.3). I'm using MSYS2, luaJIT, a static build of wxWidgets and the following set of wxlua libraries: webview;xrc;xml;media;richtext;propgrid;gl;html;adv;core;net;base. I've made a minimal build script based on the one that is used to build zb studio. I run it with all flag.

It downloads luaJIT, wxWidgets and wxlua, applies the same patches as zb studio build script, and tries to build everything. However, I get the following errors:

  1. WARNING: Unable to find requested wxWidgets component : adv If I understand it correctly, adv library was deprecated and is now a part of the base library. wx-config --libs adv outputs -L/home/user/build_test/deps/lib /home/user/build_test/deps/lib/libwx_baseu-3.3.a -lwxtiff-3.3 -lwxjpeg-3.3 -lwxpng-3.3 -lwxlexilla-3.3 -lwxscintilla-3.3 -lwxexpat-3.3 -lwxzlib-3.3 -lpcre2-16 -lrpcrt4 -loleaut32 -lole32 -luuid -lcurl -luxtheme -lwinspool -lwinmm -lshell32 -lshlwapi -lcomctl32 -lcomdlg32 -ladvapi32 -lversion -lws2_32 -lgdi32 -loleacc -lwinhttp. As propgrid depends on advanced library, does it mean it can't load required definitions?
  2. a whole lot of compilation errors
[ 13%] Building CXX object modules/luamodule/CMakeFiles/wxLuaModule.dir/__/wxbind/src/wxpropgrid_bin
d.cpp.obj
I:/msys64/home/user/build_test/wxlua/wxLua/modules/wxbind/src/wxpropgrid_bind.cpp:2955:13: warning:
wxPG_NULL_BITMAP is deprecated. Use wxNullBitmap instead.
 2955 |     const wxBitmap * bmp = (argCount >= 3 ? (const wxBitmap *)wxluaT_getuserdatatype(L, 3, w
xluatype_wxBitmap) : &wxPG_NULL_BITMAP);
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
I:/msys64/home/user/build_test/wxlua/wxLua/modules/wxbind/src/wxpropgrid_bind.cpp: In function 'int
wxLua_wxPGValidationInfo_GetFailureBehavior(lua_State*)':
I:/msys64/home/user/build_test/wxlua/wxLua/modules/wxbind/src/wxpropgrid_bind.cpp:47:54: error: cann
ot convert 'wxPGVFBFlags' to 'unsigned char' in initialization
   47 |     unsigned char returns = (self->GetFailureBehavior());
      |                             ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
      |                                                      |
      |                                                      wxPGVFBFlags
I:/msys64/home/user/build_test/wxlua/wxLua/modules/wxbind/src/wxpropgrid_bind.cpp: In function 'int
wxLua_wxPropertyGridEvent_GetValidationFailureBehavior(lua_State*)':
I:/msys64/home/user/build_test/wxlua/wxLua/modules/wxbind/src/wxpropgrid_bind.cpp:2377:64: error: ca
nnot convert 'wxPGVFBFlags' to 'unsigned char' in initialization
 2377 |     unsigned char returns = (self->GetValidationFailureBehavior());
      |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
      |                                                                |
      |                                                                wxPGVFBFlags
I:/msys64/home/user/build_test/wxlua/wxLua/modules/wxbind/src/wxpropgrid_bind.cpp: In function 'int
wxLua_wxPropertyGridIteratorBase_constructor(lua_State*)':
I:/msys64/home/user/build_test/wxlua/wxLua/modules/wxbind/src/wxpropgrid_bind.cpp:11431:74: error:
wxPropertyGridIteratorBase::wxPropertyGridIteratorBase()' is protected within this context
11431 |     wxPropertyGridIteratorBase* returns = new wxPropertyGridIteratorBase();
      |                                                                          ^
In file included from I:/msys64/home/user/build_test/deps/include/wx-3.3/wx/propgrid/propgridiface.h
:19,
                 from I:/msys64/home/user/build_test/deps/include/wx-3.3/wx/propgrid/propgrid.h:23,
                 from I:/msys64/home/user/build_test/deps/include/wx-3.3/wx/propgrid/manager.h:18,
                 from I:/msys64/home/user/build_test/wxlua/wxLua/modules/wxbind/include/wxpropgrid_b
ind.h:50,
                 from I:/msys64/home/user/build_test/wxlua/wxLua/modules/wxbind/src/wxpropgrid_bind.
cpp:19:
I:/msys64/home/user/build_test/deps/include/wx-3.3/wx/propgrid/propgridpagestate.h:300:5: note: decl
ared protected here
  300 |     wxPropertyGridIteratorBase() = default;
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
I:/msys64/home/user/build_test/wxlua/wxLua/modules/wxbind/src/wxpropgrid_bind.cpp: In function 'int
wxLua_wxPropertyGridInterface_HideProperty1(lua_State*)':
I:/msys64/home/user/build_test/wxlua/wxLua/modules/wxbind/src/wxpropgrid_bind.cpp:14509:32: error: o
perands to '?:' have different types 'int' and 'wxPGPropertyValuesFlags'
14509 |     int flags = (argCount >= 4 ? (int)wxlua_getnumbertype(L, 4) : wxPG_RECURSE);
      |                  ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
I:/msys64/home/user/build_test/wxlua/wxLua/modules/wxbind/src/wxpropgrid_bind.cpp: In function 'int
wxLua_wxPropertyGridInterface_HideProperty(lua_State*)':
I:/msys64/home/user/build_test/wxlua/wxLua/modules/wxbind/src/wxpropgrid_bind.cpp:14533:32: error: o
perands to '?:' have different types 'int' and 'wxPGPropertyValuesFlags'
14533 |     int flags = (argCount >= 4 ? (int)wxlua_getnumbertype(L, 4) : wxPG_RECURSE);
      |                  ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
I:/msys64/home/user/build_test/wxlua/wxLua/modules/wxbind/src/wxpropgrid_bind.cpp: In function 'int
wxLua_wxPropertyGridInterface_SetPropertyBackgroundColour1(lua_State*)':
I:/msys64/home/user/build_test/wxlua/wxLua/modules/wxbind/src/wxpropgrid_bind.cpp:15264:32: error: o
perands to '?:' have different types 'int' and 'wxPGPropertyValuesFlags'
15264 |     int flags = (argCount >= 4 ? (int)wxlua_getnumbertype(L, 4) : wxPG_RECURSE);
      |                  ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
I:/msys64/home/user/build_test/wxlua/wxLua/modules/wxbind/src/wxpropgrid_bind.cpp: In function 'int
wxLua_wxPropertyGridInterface_SetPropertyBackgroundColour(lua_State*)':
I:/msys64/home/user/build_test/wxlua/wxLua/modules/wxbind/src/wxpropgrid_bind.cpp:15286:32: error: o
perands to '?:' have different types 'int' and 'wxPGPropertyValuesFlags'
15286 |     int flags = (argCount >= 4 ? (int)wxlua_getnumbertype(L, 4) : wxPG_RECURSE);
      |                  ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
I:/msys64/home/user/build_test/wxlua/wxLua/modules/wxbind/src/wxpropgrid_bind.cpp: In function 'int
wxLua_wxPropertyGridInterface_SetPropertyColoursToDefault1(lua_State*)':
I:/msys64/home/user/build_test/wxlua/wxLua/modules/wxbind/src/wxpropgrid_bind.cpp:15407:32: error: o
perands to '?:' have different types 'int' and 'wxPGPropertyValuesFlags'
15407 |     int flags = (argCount >= 3 ? (int)wxlua_getnumbertype(L, 3) : wxPG_DONT_RECURSE);
      |                  ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
I:/msys64/home/user/build_test/wxlua/wxLua/modules/wxbind/src/wxpropgrid_bind.cpp: In function 'int
wxLua_wxPropertyGridInterface_SetPropertyColoursToDefault(lua_State*)':
I:/msys64/home/user/build_test/wxlua/wxLua/modules/wxbind/src/wxpropgrid_bind.cpp:15430:32: error: o
perands to '?:' have different types 'int' and 'wxPGPropertyValuesFlags'
15430 |     int flags = (argCount >= 3 ? (int)wxlua_getnumbertype(L, 3) : wxPG_DONT_RECURSE);
      |                  ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
I:/msys64/home/user/build_test/wxlua/wxLua/modules/wxbind/src/wxpropgrid_bind.cpp: In function 'int
wxLua_wxPropertyGridInterface_SetPropertyReadOnly1(lua_State*)':
I:/msys64/home/user/build_test/wxlua/wxLua/modules/wxbind/src/wxpropgrid_bind.cpp:15712:32: error: o
perands to '?:' have different types 'int' and 'wxPGPropertyValuesFlags'
15712 |     int flags = (argCount >= 4 ? (int)wxlua_getnumbertype(L, 4) : wxPG_RECURSE);
      |                  ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
I:/msys64/home/user/build_test/wxlua/wxLua/modules/wxbind/src/wxpropgrid_bind.cpp: In function 'int
wxLua_wxPropertyGridInterface_SetPropertyReadOnly(lua_State*)':
I:/msys64/home/user/build_test/wxlua/wxLua/modules/wxbind/src/wxpropgrid_bind.cpp:15734:32: error: o
perands to '?:' have different types 'int' and 'wxPGPropertyValuesFlags'
15734 |     int flags = (argCount >= 4 ? (int)wxlua_getnumbertype(L, 4) : wxPG_RECURSE);
      |                  ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
I:/msys64/home/user/build_test/wxlua/wxLua/modules/wxbind/src/wxpropgrid_bind.cpp: In function 'int
wxLua_wxPropertyGridInterface_SetPropertyTextColour1(lua_State*)':
I:/msys64/home/user/build_test/wxlua/wxLua/modules/wxbind/src/wxpropgrid_bind.cpp:15758:32: error:o
perands to '?:' have different types 'int' and 'wxPGPropertyValuesFlags'
15758 |     int flags = (argCount >= 4 ? (int)wxlua_getnumbertype(L, 4) : wxPG_RECURSE);
      |                  ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
I:/msys64/home/user/build_test/wxlua/wxLua/modules/wxbind/src/wxpropgrid_bind.cpp: In function 'int
wxLua_wxPropertyGridInterface_SetPropertyTextColour(lua_State*)':
I:/msys64/home/user/build_test/wxlua/wxLua/modules/wxbind/src/wxpropgrid_bind.cpp:15780:32: error: o
perands to '?:' have different types 'int' and 'wxPGPropertyValuesFlags'
15780 |     int flags = (argCount >= 4 ? (int)wxlua_getnumbertype(L, 4) : wxPG_RECURSE);
      |                  ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
I:/msys64/home/user/build_test/wxlua/wxLua/modules/wxbind/src/wxpropgrid_bind.cpp: In function 'int
wxLua_wxPGProperty_Hide(lua_State*)':
I:/msys64/home/user/build_test/wxlua/wxLua/modules/wxbind/src/wxpropgrid_bind.cpp:19030:32: error: o
perands to '?:' have different types 'int' and 'wxPGPropertyValuesFlags'
19030 |     int flags = (argCount >= 3 ? (int)wxlua_getnumbertype(L, 3) : wxPG_RECURSE);
      |                  ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
I:/msys64/home/user/build_test/wxlua/wxLua/modules/wxbind/src/wxpropgrid_bind.cpp: In function 'int
wxLua_wxPGProperty_SetBackgroundColour(lua_State*)':
I:/msys64/home/user/build_test/wxlua/wxLua/modules/wxbind/src/wxpropgrid_bind.cpp:19527:32: error: o
perands to '?:' have different types 'int' and 'wxPGPropertyValuesFlags'
19527 |     int flags = (argCount >= 3 ? (int)wxlua_getnumbertype(L, 3) : wxPG_RECURSE);
      |                  ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
I:/msys64/home/user/build_test/wxlua/wxLua/modules/wxbind/src/wxpropgrid_bind.cpp: In function 'int
wxLua_wxPGProperty_SetDefaultColours(lua_State*)':
I:/msys64/home/user/build_test/wxlua/wxLua/modules/wxbind/src/wxpropgrid_bind.cpp:19651:32: error: o
perands to '?:' have different types 'int' and 'wxPGPropertyValuesFlags'
19651 |     int flags = (argCount >= 2 ? (int)wxlua_getnumbertype(L, 2) : wxPG_RECURSE);
      |                  ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
I:/msys64/home/user/build_test/wxlua/wxLua/modules/wxbind/src/wxpropgrid_bind.cpp: In function 'int
wxLua_wxPGProperty_SetTextColour(lua_State*)':
I:/msys64/home/user/build_test/wxlua/wxLua/modules/wxbind/src/wxpropgrid_bind.cpp:19872:32: error: o
perands to '?:' have different types 'int' and 'wxPGPropertyValuesFlags'
19872 |     int flags = (argCount >= 3 ? (int)wxlua_getnumbertype(L, 3) : wxPG_RECURSE);
      |                  ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
I:/msys64/home/user/build_test/wxlua/wxLua/modules/wxbind/src/wxpropgrid_bind.cpp: In function 'int
wxLua_wxPGProperty_SetValue(lua_State*)':
I:/msys64/home/user/build_test/wxlua/wxLua/modules/wxbind/src/wxpropgrid_bind.cpp:19914:32: error: o
perands to '?:' have different types 'int' and 'wxPGSetValueFlags'
19914 |     int flags = (argCount >= 4 ? (int)wxlua_getnumbertype(L, 4) : wxPG_SETVAL_REFRESH_EDITO
);
      |                  ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
I:/msys64/home/user/build_test/wxlua/wxLua/modules/wxbind/src/wxpropgrid_bind.cpp: In function 'wxLu
aBindNumber* wxLuaGetDefineList_wxpropgrid(size_t&)':
I:/msys64/home/user/build_test/wxlua/wxLua/modules/wxbind/src/wxpropgrid_bind.cpp:23050:34: error:
wxPG_CAPRECTXMARGIN' was not declared in this scope; did you mean 'wxPG_HIDE_MARGIN'?
23050 |         { "wxPG_CAPRECTXMARGIN", wxPG_CAPRECTXMARGIN },
      |                                  ^~~~~~~~~~~~~~~~~~~
      |                                  wxPG_HIDE_MARGIN
I:/msys64/home/user/build_test/wxlua/wxLua/modules/wxbind/src/wxpropgrid_bind.cpp:23051:34: error:
wxPG_CAPRECTYMARGIN' was not declared in this scope; did you mean 'wxPG_HIDE_MARGIN'?
23051 |         { "wxPG_CAPRECTYMARGIN", wxPG_CAPRECTYMARGIN },
      |                                  ^~~~~~~~~~~~~~~~~~~
      |                                  wxPG_HIDE_MARGIN
I:/msys64/home/user/build_test/wxlua/wxLua/modules/wxbind/src/wxpropgrid_bind.cpp:23056:41: error:
wxPG_CUSTOM_IMAGE_SPACINGY' was not declared in this scope
23056 |         { "wxPG_CUSTOM_IMAGE_SPACINGY", wxPG_CUSTOM_IMAGE_SPACINGY },
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~
I:/msys64/home/user/build_test/wxlua/wxLua/modules/wxbind/src/wxpropgrid_bind.cpp:23149:33: error:
wxPG_PROP_PASSWORD' was not declared in this scope; did you mean 'wxPG_PROP_CATEGORY'?
23149 |         { "wxPG_PROP_PASSWORD", wxPG_PROP_PASSWORD },
      |                                 ^~~~~~~~~~~~~~~~~~
      |                                 wxPG_PROP_CATEGORY
I:/msys64/home/user/build_test/wxlua/wxLua/modules/wxbind/src/wxpropgrid_bind.cpp:23162:37: error:
wxPG_PROP_USE_CHECKBOX' was not declared in this scope; did you mean 'wxPG_BOOL_USE_CHECKBOX'?
23162 |         { "wxPG_PROP_USE_CHECKBOX", wxPG_PROP_USE_CHECKBOX },
      |                                     ^~~~~~~~~~~~~~~~~~~~~~
      |                                     wxPG_BOOL_USE_CHECKBOX
I:/msys64/home/user/build_test/wxlua/wxLua/modules/wxbind/src/wxpropgrid_bind.cpp:23163:32: error:
wxPG_PROP_USE_DCC' was not declared in this scope
23163 |         { "wxPG_PROP_USE_DCC", wxPG_PROP_USE_DCC },
      |                                ^~~~~~~~~~~~~~~~~
make[2]: *** [modules/luamodule/CMakeFiles/wxLuaModule.dir/build.make:151: modules/luamodule/CMakeFiles/wxLuaModule.dir/__/wxbind/src/wxpropgrid_bind.cpp.obj] Error 1
make[1]: *** [CMakeFiles/Makefile2:378: modules/luamodule/CMakeFiles/wxLuaModule.dir/all] Error 2
make: *** [Makefile:156: all] Error 2
Error: failed to build wxLua

sokolas avatar Jul 19 '23 12:07 sokolas

@sokolas, it looks like there have been changes to the wxpropgrid interface that haven't been (yet) integrated into wxlua. You'll likely have to use the latest stable tag (v3.2.2.1) to get it working. I'll take a look at this, but may need to wait until the next stable release to update (to minimize the number of changes).

pkulchenko avatar Jul 20 '23 05:07 pkulchenko

Thank you, it worked just fine with v3.2.2.1

sokolas avatar Jul 20 '23 08:07 sokolas