Developer forums (C::B DEVELOPMENT STRICTLY!) > Development
Codeblocks contrib plugins for wx31 fails to compile with mingw v8.1.0
Miguel Gimenez:
These are the changes mentioned by stahta01. The original macro definition was
--- Code: ---#define WX_DECLARE_OBJARRAY_WITH_DECL(T, name, decl) \
typedef T _wxObjArray##name; \
_WX_DECLARE_OBJARRAY(_wxObjArray##name, name, wxArrayPtrVoid, decl)
--- End code ---
and the current is
--- Code: ---#define WX_DECLARE_OBJARRAY_WITH_DECL(T, name, classdecl) \
classdecl wxObjectArrayTraitsFor##name \
{ \
public: \
static T* Clone(const T& item); \
static void Free(T* p); \
}; \
typedef wxBaseObjectArray<T, wxObjectArrayTraitsFor##name> \
wxBaseObjectArrayFor##name; \
typedef int (wxCMPFUNC_CONV *CMPFUNC##T)(T **pItem1, T **pItem2); \
classdecl name : public wxBaseObjectArrayFor##name \
{ \
public: \
name() : wxBaseObjectArrayFor##name() { } \
name(const name& src) : wxBaseObjectArrayFor##name(src) { } \
}
--- End code ---
but this comment in wxWidgets docs (see http://docs.wxwidgets.org/trunk/dynarray_8h.html#a015654ccb706038e60295cc202679be3)
--- Quote ---// note: not "MyClass *"!
--- End quote ---
suggests that
--- Code: ---WX_DECLARE_USER_EXPORTED_OBJARRAY(wxWindow*, wxWindowPtrArray, WXDLLIMPEXP_FNB);
--- End code ---
is incorrect. The original macro definition was tolerant, but the new is not.
gd_on:
Just to add some informations.
I tried to compile wxwidgets 3.1.1 and codeblocks svn 11416 with mingw 64 bits 7.3 (I used x86_64-7.3.0-release-posix-seh-rt_v5-rev0.7z, but I'm not sure if it's the best choice !). It's OK.
With x86_64-8.1.0-release-posix-seh-rt_v6-rev0.7z, wxwidgets 3.1.1 compilation fails with problems decribed above (WX_DECLARE...), so no way to compile C::B.
gd_on
Miguel Gimenez:
This patch solves the issue with Windows 7, wxWidgets-master, CB trunk, GCC 7.2.0, 32 bits.
If somebody tests it successfully in another environment (p.e. GCC 8 ) I will post a ticket with the patch in SF.
ouch:
Codeblocks Trunk: 11416
wxWidgets trunk: 1adc3ba
MingW64: i686-8.1.0-posix-sjlj-rt_v6-rev0
On windows 7 64bit home edition.
I can confirm that patch allows it to compile, And upon testing Codeblocks opens up and I'm able to edit files.
So I would say it looks like this fixes it.
Thanks Miguel Gimenez!
stahta01:
To be [more] sure it is safe the Lib Finder plugin needs to be tested.
Tim S.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version