Re: Re[4]: wxWidgets-3.2.4 non-backwards compatibility with 3.2.2.1
Mike Rossiter <[email protected]>
| Newsgroups | gmane.comp.lib.wxwindows.general |
|---|---|
| Message-ID | <[email protected]> |
The fix works fine. Made the change to *defs.h* in the binaries. No need to recompile wxWidgets. Used set CL=/DwxABI_VERSION=30202 %CL% in my* .bat* file. Dan used this in the cmake configuration: -DCMAKE_CXX_FLAGS="/DwxABI_VERSION=30202 /EHsc /MP /DWIN32" Many thanks. On Sunday 25 February 2024 at 18:24:51 UTC Vadim Zeitlin wrote: > On Sun, 25 Feb 2024 07:15:35 -0800 (PST) Mike Rossiter wrote: > > MR> Dan Dickey has tracked the problem down to the define > wxHAS_RVALUE_REF. Not > MR> present in wxWidgets-3.2.2.1, I think. > > Hello, > > Thanks for tracking this down! The important part is this one: > > > The import name shipdriver_pi.dll is seeking is "(__declspec(dllimport) > public: class wxString & __thiscall wxString::operator=(class wxString > &&))". > > and it shows that we must be exporting wxString move assignment operator > from the 3.2.4 DLL but (of course) not from 3.2.2 one, where it hadn't been > defined. > > I have to admit that I don't understand why isn't the compiler inlining > this (very simple) function, as I'd expect it to, my thinking when > backporting move-related changes to wx 3.2 was that they should be > ABI-compatible because all the functions should be always inlined, but this > clearly isn't the case and so we have to fix it. > > My proposed fix is in https://github.com/wxWidgets/wxWidgets/pull/24357 > and your problem should be fixed if you > > 1. Cherry pick the first commit from it ( > https://github.com/wxWidgets/wxWidgets/pull/24357/commits/54abbb3fc0b5563ef381e503f3791a4a60613d6d > ) > 2. Define wxABI_VERSION=30202 when building your code. > > Please let me know if this works for you, TIA! > VZ > > -- > TT-Solutions: wxWidgets consultancy and technical support > https://www.tt-solutions.com/ > -- Please read https://www.wxwidgets.org/support/mlhowto.htm before posting. --- You received this message because you are subscribed to the Google Groups "wx-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/wx-users/44c486e2-664a-4631-a08c-bc8c37ac5c6fn%40googlegroups.com.