User forums > General (but related to Code::Blocks)

New wxWidgets releases

<< < (2/3) > >>

Miguel Gimenez:
Ollydbg, you can try changing (in wxsarraystringcheckproperty.cpp) line 28 to this

--- Code: ---WX_DEFINE_ARRAY(bool, wxArrayBool);

--- End code ---

wxSmith plays with offsets and code magic to access the array, this may be a headache.

ollydbg:

--- Quote from: Miguel Gimenez on March 04, 2026, 09:53:21 am ---Ollydbg, you can try changing (in wxsarraystringcheckproperty.cpp) line 28 to this

--- Code: ---WX_DEFINE_ARRAY(bool, wxArrayBool);

--- End code ---

wxSmith plays with offsets and code magic to access the array, this may be a headache.

--- End quote ---

Well, in the wxsarraystringcheckproperty.cpp file, it has:


--- Code: ---#include "wxsarraystringcheckproperty.h"
#include "wxsarraystringcheckeditordlg.h"

#include <globals.h>

// Helper macros for fetching variables
#define VALUE   wxsVARIABLE(Object,Offset,wxArrayString)
#define CHECK   wxsVARIABLE(Object,CheckOffset,wxArrayBool)


--- End code ---

Which part of the code do I need to change?

EDIT:
Oh, you mean in the header file.
Let me try it.

ollydbg:
I just changed to this:


--- Code: ---#ifndef WXSARRAYSTRINGCHECKPROPERTY_H
#define WXSARRAYSTRINGCHECKPROPERTY_H

#include "../../properties/wxsproperties.h"

WX_DEFINE_ARRAY(bool,wxArrayBool);
--- End code ---

But I see still the same build error.

Miguel Gimenez:
I am sorry for the confussion with the extension.

Can you change (in wxschecklistbox.cpp:72) this

--- Code: ---                if ( ArrayChecks[i] )
                {
                    Codef( _T("%ACheck("));
                }
                Codef( _T("%AAppend(%t)"), ArrayChoices[i].wx_str());
                if ( ArrayChecks[i] )
                {
                    Codef(_T(")"));
                }

--- End code ---
to this

--- Code: ---                const bool Checked = ArrayChecks[i];
                if ( Checked )
                {
                    Codef( _T("%ACheck("));
                }
                Codef( _T("%AAppend(%t)"), ArrayChoices[i].wx_str());
                if ( Checked )
                {
                    Codef(_T(")"));
                }

--- End code ---

In line 102 there is another if (), it is expected to fail but the error in line 72 should be gone.

ollydbg:
Still the same error:


--- Code: ----------------- Build: wxSmithLib in wxSmith Windows (compiler: GNU GCC Compiler)---------------

[  0.6%] g++.exe -Wall -g -pipe -mthreads -fmessage-length=0 -fexceptions -DHAVE_W32API_H -D__WXMSW__ -D_WIN64 -DWXUSINGDLL -DcbDEBUG -DNOPCH -DBUILDING_PLUGIN -DwxUSE_UNICODE -std=gnu++11 -g -std=gnu++11 -IF:\code\wxWidgets-3.3.2\lib\gcc_dll\mswud -IF:\code\wxWidgets-3.3.2\include -I..\..\..\include -I..\..\..\include\tinyxml -I..\..\..\sdk\wxscintilla\include -I..\..\..\include\scripting\include -c F:\code\codeblocks-src\codeblocks_sfmirror\src\plugins\contrib\wxSmith\wxssettings.cpp -o ..\..\..\.objs33_64\plugins\contrib\wxSmithLib\wxssettings.o
[  1.3%] g++.exe -Wall -g -pipe -mthreads -fmessage-length=0 -fexceptions -DHAVE_W32API_H -D__WXMSW__ -D_WIN64 -DWXUSINGDLL -DcbDEBUG -DNOPCH -DBUILDING_PLUGIN -DwxUSE_UNICODE -std=gnu++11 -g -std=gnu++11 -IF:\code\wxWidgets-3.3.2\lib\gcc_dll\mswud -IF:\code\wxWidgets-3.3.2\include -I..\..\..\include -I..\..\..\include\tinyxml -I..\..\..\sdk\wxscintilla\include -I..\..\..\include\scripting\include -c F:\code\codeblocks-src\codeblocks_sfmirror\src\plugins\contrib\wxSmith\wxwidgets\defitems\wxsanimationctrl.cpp -o ..\..\..\.objs33_64\plugins\contrib\wxSmithLib\wxwidgets\defitems\wxsanimationctrl.o
[  1.9%] g++.exe -Wall -g -pipe -mthreads -fmessage-length=0 -fexceptions -DHAVE_W32API_H -D__WXMSW__ -D_WIN64 -DWXUSINGDLL -DcbDEBUG -DNOPCH -DBUILDING_PLUGIN -DwxUSE_UNICODE -std=gnu++11 -g -std=gnu++11 -IF:\code\wxWidgets-3.3.2\lib\gcc_dll\mswud -IF:\code\wxWidgets-3.3.2\include -I..\..\..\include -I..\..\..\include\tinyxml -I..\..\..\sdk\wxscintilla\include -I..\..\..\include\scripting\include -c F:\code\codeblocks-src\codeblocks_sfmirror\src\plugins\contrib\wxSmith\wxwidgets\defitems\wxsbitmapbutton.cpp -o ..\..\..\.objs33_64\plugins\contrib\wxSmithLib\wxwidgets\defitems\wxsbitmapbutton.o
[  2.5%] g++.exe -Wall -g -pipe -mthreads -fmessage-length=0 -fexceptions -DHAVE_W32API_H -D__WXMSW__ -D_WIN64 -DWXUSINGDLL -DcbDEBUG -DNOPCH -DBUILDING_PLUGIN -DwxUSE_UNICODE -std=gnu++11 -g -std=gnu++11 -IF:\code\wxWidgets-3.3.2\lib\gcc_dll\mswud -IF:\code\wxWidgets-3.3.2\include -I..\..\..\include -I..\..\..\include\tinyxml -I..\..\..\sdk\wxscintilla\include -I..\..\..\include\scripting\include -c F:\code\codeblocks-src\codeblocks_sfmirror\src\plugins\contrib\wxSmith\wxwidgets\defitems\wxsbitmapcombobox.cpp -o ..\..\..\.objs33_64\plugins\contrib\wxSmithLib\wxwidgets\defitems\wxsbitmapcombobox.o
[  3.2%] g++.exe -Wall -g -pipe -mthreads -fmessage-length=0 -fexceptions -DHAVE_W32API_H -D__WXMSW__ -D_WIN64 -DWXUSINGDLL -DcbDEBUG -DNOPCH -DBUILDING_PLUGIN -DwxUSE_UNICODE -std=gnu++11 -g -std=gnu++11 -IF:\code\wxWidgets-3.3.2\lib\gcc_dll\mswud -IF:\code\wxWidgets-3.3.2\include -I..\..\..\include -I..\..\..\include\tinyxml -I..\..\..\sdk\wxscintilla\include -I..\..\..\include\scripting\include -c F:\code\codeblocks-src\codeblocks_sfmirror\src\plugins\contrib\wxSmith\wxwidgets\defitems\wxsboxsizer.cpp -o ..\..\..\.objs33_64\plugins\contrib\wxSmithLib\wxwidgets\defitems\wxsboxsizer.o
[  3.8%] g++.exe -Wall -g -pipe -mthreads -fmessage-length=0 -fexceptions -DHAVE_W32API_H -D__WXMSW__ -D_WIN64 -DWXUSINGDLL -DcbDEBUG -DNOPCH -DBUILDING_PLUGIN -DwxUSE_UNICODE -std=gnu++11 -g -std=gnu++11 -IF:\code\wxWidgets-3.3.2\lib\gcc_dll\mswud -IF:\code\wxWidgets-3.3.2\include -I..\..\..\include -I..\..\..\include\tinyxml -I..\..\..\sdk\wxscintilla\include -I..\..\..\include\scripting\include -c F:\code\codeblocks-src\codeblocks_sfmirror\src\plugins\contrib\wxSmith\wxwidgets\defitems\wxsbutton.cpp -o ..\..\..\.objs33_64\plugins\contrib\wxSmithLib\wxwidgets\defitems\wxsbutton.o
[  4.4%] g++.exe -Wall -g -pipe -mthreads -fmessage-length=0 -fexceptions -DHAVE_W32API_H -D__WXMSW__ -D_WIN64 -DWXUSINGDLL -DcbDEBUG -DNOPCH -DBUILDING_PLUGIN -DwxUSE_UNICODE -std=gnu++11 -g -std=gnu++11 -IF:\code\wxWidgets-3.3.2\lib\gcc_dll\mswud -IF:\code\wxWidgets-3.3.2\include -I..\..\..\include -I..\..\..\include\tinyxml -I..\..\..\sdk\wxscintilla\include -I..\..\..\include\scripting\include -c F:\code\codeblocks-src\codeblocks_sfmirror\src\plugins\contrib\wxSmith\wxwidgets\defitems\wxscalendarctrl.cpp -o ..\..\..\.objs33_64\plugins\contrib\wxSmithLib\wxwidgets\defitems\wxscalendarctrl.o
[  5.1%] g++.exe -Wall -g -pipe -mthreads -fmessage-length=0 -fexceptions -DHAVE_W32API_H -D__WXMSW__ -D_WIN64 -DWXUSINGDLL -DcbDEBUG -DNOPCH -DBUILDING_PLUGIN -DwxUSE_UNICODE -std=gnu++11 -g -std=gnu++11 -IF:\code\wxWidgets-3.3.2\lib\gcc_dll\mswud -IF:\code\wxWidgets-3.3.2\include -I..\..\..\include -I..\..\..\include\tinyxml -I..\..\..\sdk\wxscintilla\include -I..\..\..\include\scripting\include -c F:\code\codeblocks-src\codeblocks_sfmirror\src\plugins\contrib\wxSmith\wxwidgets\defitems\wxscheckbox.cpp -o ..\..\..\.objs33_64\plugins\contrib\wxSmithLib\wxwidgets\defitems\wxscheckbox.o
[  5.7%] g++.exe -Wall -g -pipe -mthreads -fmessage-length=0 -fexceptions -DHAVE_W32API_H -D__WXMSW__ -D_WIN64 -DWXUSINGDLL -DcbDEBUG -DNOPCH -DBUILDING_PLUGIN -DwxUSE_UNICODE -std=gnu++11 -g -std=gnu++11 -IF:\code\wxWidgets-3.3.2\lib\gcc_dll\mswud -IF:\code\wxWidgets-3.3.2\include -I..\..\..\include -I..\..\..\include\tinyxml -I..\..\..\sdk\wxscintilla\include -I..\..\..\include\scripting\include -c F:\code\codeblocks-src\codeblocks_sfmirror\src\plugins\contrib\wxSmith\wxwidgets\defitems\wxschecklistbox.cpp -o ..\..\..\.objs33_64\plugins\contrib\wxSmithLib\wxwidgets\defitems\wxschecklistbox.o
[  6.3%] g++.exe -Wall -g -pipe -mthreads -fmessage-length=0 -fexceptions -DHAVE_W32API_H -D__WXMSW__ -D_WIN64 -DWXUSINGDLL -DcbDEBUG -DNOPCH -DBUILDING_PLUGIN -DwxUSE_UNICODE -std=gnu++11 -g -std=gnu++11 -IF:\code\wxWidgets-3.3.2\lib\gcc_dll\mswud -IF:\code\wxWidgets-3.3.2\include -I..\..\..\include -I..\..\..\include\tinyxml -I..\..\..\sdk\wxscintilla\include -I..\..\..\include\scripting\include -c F:\code\codeblocks-src\codeblocks_sfmirror\src\plugins\contrib\wxSmith\wxwidgets\defitems\wxschoice.cpp -o ..\..\..\.objs33_64\plugins\contrib\wxSmithLib\wxwidgets\defitems\wxschoice.o
In file included from F:\code\wxWidgets-3.3.2\include/wx/arrstr.h:15,
                 from F:\code\wxWidgets-3.3.2\include/wx/ctrlsub.h:17,
                 from F:\code\wxWidgets-3.3.2\include/wx/listbox.h:21,
                 from F:\code\wxWidgets-3.3.2\include/wx/checklst.h:17,
                 from F:\code\codeblocks-src\codeblocks_sfmirror\src\plugins\contrib\wxSmith\wxwidgets\defitems\wxschecklistbox.cpp:24:
F:\code\wxWidgets-3.3.2\include/wx/dynarray.h: In instantiation of 'T& wxBaseArray<T, Sorter>::operator[](size_t) [with T = bool; Sorter = wxSortedArray_SortFunction<bool>; size_t = long long unsigned int]':
F:\code\codeblocks-src\codeblocks_sfmirror\src\plugins\contrib\wxSmith\wxwidgets\defitems\wxschecklistbox.cpp:72:51:   required from here
   72 |                 const bool Checked = ArrayChecks[i];
      |                                                   ^
F:\code\wxWidgets-3.3.2\include/wx/dynarray.h:128:36: error: cannot bind non-const lvalue reference of type 'bool&' to an rvalue of type 'bool'
  128 |         return base_vec::operator[](uiIndex);
      |                ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
In file included from D:/code/msys2/mingw64/include/c++/14.2.0/vector:67,
                 from F:\code\wxWidgets-3.3.2\include/wx/strvararg.h:34,
                 from F:\code\wxWidgets-3.3.2\include/wx/string.h:34,
                 from F:\code\wxWidgets-3.3.2\include/wx/arrstr.h:14:
D:/code/msys2/mingw64/include/c++/14.2.0/bits/stl_bvector.h:99:5: note:   after user-defined conversion: 'std::_Bit_reference::operator bool() const'
   99 |     operator bool() const _GLIBCXX_NOEXCEPT
      |     ^~~~~~~~
Process terminated with status 1 (0 minute(s), 38 second(s))
 
Process terminated with status 0 (0 minute(s), 40 second(s))
1 error(s), 2 warning(s) (0 minute(s), 40 second(s))


--- End code ---

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version