Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compilation errors with propgrid enabled with wxWidgets 3.3 #124

Open
sokolas opened this issue Jul 19, 2023 · 2 comments
Open

Compilation errors with propgrid enabled with wxWidgets 3.3 #124

sokolas opened this issue Jul 19, 2023 · 2 comments
Assignees

Comments

@sokolas
Copy link

sokolas commented Jul 19, 2023

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
@pkulchenko
Copy link
Owner

@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).

@sokolas
Copy link
Author

sokolas commented Jul 20, 2023

Thank you, it worked just fine with v3.2.2.1

@pkulchenko pkulchenko self-assigned this Oct 17, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants