Author Topic: Codeblocks contrib plugins for wx31 fails to compile with mingw v8.1.0  (Read 9198 times)

Offline gd_on

  • Lives here!
  • ****
  • Posts: 797
I tried to compile wxwidgets 3.1.1 with MinGW 8.1, in 32 bits (with i686-8.1.0-release-posix-sjlj-rt_v6-rev0) or 64 bits (with x86_64-8.1.0-release-posix-seh-rt_v6-rev0) without success.
Many wanings (warning: cast between incompatible function types from 'wxLongToLongHashMap_wxImplementation_HashTable::size_type (*)...) and finally errors (invalid static_cast from type 'long long unsigned int' to type 'HANDLE' {aka 'void*'}).
Some of the users seem to compile without problems wxwidgets 3.1.1 with this 8.1 version. Could you tell me the command line you have used ?
I have : mingw32-make -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1 USE_OPENGL=1 VENDOR=cb CXXFLAGS="-fpermissive -fno-keep-inline-dllexport -std=gnu++11 -Wno-deprecated-declarations".
It works for me with MinGW 4.9 -> 7.3.

gd_on
Windows 11 64 bits (23H2), svn C::B (last version or almost!), wxWidgets 3.2.4 (tests with 3.3), Msys2 Compilers 13.2.0, 64 bits (seh, posix : gcc, g++ and gfortran in C:\msys64\mingw64) or 32 bits (dwarf2, posix  in C:\msys64\mingw32).

Offline Miguel Gimenez

  • Developer
  • Lives here!
  • *****
  • Posts: 1560
I have never used Libfinder, but the FlatNotebook part seems to work.

Offline Miguel Gimenez

  • Developer
  • Lives here!
  • *****
  • Posts: 1560
@gd_on, wxWidgets must always be fixed for the newer compilers. The error you get with static_cast was fixed in trunk three weeks ago, you can backport the fix to wx3.1.1 easily:

https://github.com/wxWidgets/wxWidgets/commit/424f64f27d94f83ed946ebfcf9b9543c828f9f25

The wx forums are better for wxWidgets compilation problems.

Offline gd_on

  • Lives here!
  • ****
  • Posts: 797
Thanks.
I'll try that (or wait 3.1.2 version  ;) )
gd_on
Windows 11 64 bits (23H2), svn C::B (last version or almost!), wxWidgets 3.2.4 (tests with 3.3), Msys2 Compilers 13.2.0, 64 bits (seh, posix : gcc, g++ and gfortran in C:\msys64\mingw64) or 32 bits (dwarf2, posix  in C:\msys64\mingw32).

Offline Miguel Gimenez

  • Developer
  • Lives here!
  • *****
  • Posts: 1560

Offline headkase

  • Almost regular
  • **
  • Posts: 159
@gd_on, wxWidgets must always be fixed for the newer compilers. The error you get with static_cast was fixed in trunk three weeks ago, you can backport the fix to wx3.1.1 easily:

https://github.com/wxWidgets/wxWidgets/commit/424f64f27d94f83ed946ebfcf9b9543c828f9f25

The wx forums are better for wxWidgets compilation problems.

Yup, I reported it: https://forums.wxwidgets.org/viewtopic.php?f=19&t=44671

At the time with MinGW-Builds 64-bit 8.1.0 I built wxWidgets as it was then from git and compiled the latest SVN Code::Blocks wx31_64 against it with all contrib plugins.  It compiled successfully but then if you clicked into the main code editing frame Code::Blocks would crash.  I back-ported that one commit to wxWidgets 3.1.1 and compiled with MinGW 8.1.0 64-bit, still crashed when clicking in the editor frame.  At that point I decided to wait until things brewed some more and an official 3.1.2 comes out instead of the work-in-progress git.