For the official release of wx, such as 3.1.4, I have a file wxWidgets-3.1.4\include\wx\msw\setup.h
Then I can modify this file so that:
#define wxUSE_GRAPHICS_DIRECT2D 1
So, I use the command:
mingw32-make -j4 -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1 USE_OPENGL=1 VENDOR=cb CXXFLAGS="-Wno-unused-local-typedefs -Wno-deprecated-declarations -fno-keep-inline-dllexport" >log-release.txt 2>&1
But when I clone the official wx git, I don't see the file: wxWidgets-git\include\wx\msw\setup.h
I only see a file: wxWidgets-git\include\wx\msw\setup0.h
Which contains the line:
#define wxUSE_GRAPHICS_DIRECT2D 0
So, what is the correct way to build the wxwidgets git with direct2d enabled? Do I need to modify this setup0.h? And then run the command:
mingw32-make -j4 -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1 USE_OPENGL=1 VENDOR=cb CXXFLAGS="-Wno-unused-local-typedefs -Wno-deprecated-declarations -fno-keep-inline-dllexport" >log-release.txt 2>&1
Is there any suggested way?
Thanks.
wxWidgets docs recommend copying setup0.h to setup.h and then modifying setup.h.
If you have already compiled wxWidgets then you will have a setup.h file in wxWidgets-git\lib\gcc_dll\mswu\wx, and the changes to the one in include won't have any effect, so you must delete the lib one and rebuild wxWidgets
Quote from: Miguel Gimenez on December 18, 2020, 02:31:43 PM
wxWidgets docs recommend copying setup0.h to setup.h and then modifying setup.h.
Thanks, I will do it.
Quote
If you have already compiled wxWidgets then you will have a setup.h file in wxWidgets-git\lib\gcc_dll\mswu\wx, and the changes to the one in include won't have any effect, so you must delete the lib one and rebuild wxWidgets
OK.
Hello,
Win : To avoid having to copy by hand, I use two files '* .bat' in attachments
Isn't this comment helpful:
#if wxCHECK_VERSION(3, 1, 0) && defined(__WXMSW__) && !defined(HAVE_DIRECTWRITE_TECHNOLOGY)
// You need a build of wxWidgets with enabled Direct2D rendering support.
// Unfortunately wxWidgets doesn't enable this by default when using non-Visual studio
// compilers, so you have to enable it manually. To do so you have to edit the file
// <wxWidgets-root>/include/wx/msw/setup.h.
// Change "#define wxUSE_GRAPHICS_DIRECT2D 0" to "#define wxUSE_GRAPHICS_DIRECT2D wxUSE_GRAPHICS_CONTEXT".
// If you're rebuilding wxWidgets you might also have to edit the file
// <wxWidgets-root>/lib/gcc_dll/mswu/wx/setup.h.
#error "You need to have Direct2D capable wxWidget build to build Code::Blocks. We want to support fonts with ligatures!!!"
#endif // wxCHECK_VERSION(3, 1, 0) && defined(__WXMSW__) && !defined(HAVE_DIRECTWRITE_TECHNOLOGY)
Quote from: oBFusCATed on December 18, 2020, 06:14:17 PM
Isn't this comment helpful:
#if wxCHECK_VERSION(3, 1, 0) && defined(__WXMSW__) && !defined(HAVE_DIRECTWRITE_TECHNOLOGY)
// You need a build of wxWidgets with enabled Direct2D rendering support.
// Unfortunately wxWidgets doesn't enable this by default when using non-Visual studio
// compilers, so you have to enable it manually. To do so you have to edit the file
// <wxWidgets-root>/include/wx/msw/setup.h.
// Change "#define wxUSE_GRAPHICS_DIRECT2D 0" to "#define wxUSE_GRAPHICS_DIRECT2D wxUSE_GRAPHICS_CONTEXT".
// If you're rebuilding wxWidgets you might also have to edit the file
// <wxWidgets-root>/lib/gcc_dll/mswu/wx/setup.h.
#error "You need to have Direct2D capable wxWidget build to build Code::Blocks. We want to support fonts with ligatures!!!"
#endif // wxCHECK_VERSION(3, 1, 0) && defined(__WXMSW__) && !defined(HAVE_DIRECTWRITE_TECHNOLOGY)
Yes, change to "#define wxUSE_GRAPHICS_DIRECT2D wxUSE_GRAPHICS_CONTEXT" is better than "#define wxUSE_GRAPHICS_DIRECT2D 1".
@LETARTARE
Thanks.