Developer forums (C::B DEVELOPMENT STRICTLY!) > Development

Building C::B against wx 3.1.1 rc under Windows

(1/1)

ollydbg:
I get a build error:


--- Code: ---[ 90.0%] g++.exe -Wall -g -O0 -pipe -mthreads -fmessage-length=0 -fexceptions -Winvalid-pch -Wno-deprecated-declarations -std=gnu++11 -DHAVE_W32API_H -D__WXMSW__ -DWXUSINGDLL -DcbDEBUG -DCB_PRECOMP -DwxUSE_UNICODE -include "sdk_precomp.h" -DEXPORT_LIB -DEXPORT_EVENTS -DWXMAKINGDLL_SCI -iquote.objs31\include -I.objs31\include -I. -IE:\wxWidgets-3.1.1-rc\include -IE:\wxWidgets-3.1.1-rc\lib\gcc_dll\mswu -Isdk\wxscintilla\include -Iinclude\tinyxml -Iinclude -Iinclude\scripting\include -Iinclude\scripting\sqplus -Iinclude\mozilla_chardet -Iinclude\mozilla_chardet\mfbt -Iinclude\mozilla_chardet\nsprpub\pr\include -Iinclude\mozilla_chardet\xpcom -Iinclude\mozilla_chardet\xpcom\base -Iinclude\mozilla_chardet\xpcom\glue -Iexchndl\win32\include -c src\switcherdlg.cpp -o .objs31\src\switcherdlg.o
src\switcherdlg.cpp: In member function 'void wxSwitcherItems::Init()':
src\switcherdlg.cpp:121:9: error: 'wxUxThemeEngine' has not been declared
     if (wxUxThemeEngine::GetIfActive())
         ^~~~~~~~~~~~~~~
src\switcherdlg.cpp: In member function 'void wxSwitcherDialog::Init()':
src\switcherdlg.cpp:930:9: error: 'wxUxThemeEngine' has not been declared
     if (wxUxThemeEngine::GetIfActive())
         ^~~~~~~~~~~~~~~
Process terminated with status 1 (3 minute(s), 24 second(s))
2 error(s), 4 warning(s) (3 minute(s), 24 second(s))


--- End code ---

Sounds like this support is removed, see this page:
Remove MSW wxUxThemeEngine class ยท wxWidgets/wxWidgets@ddceaab

ollydbg:

--- Code: --- src/src/switcherdlg.cpp | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/src/switcherdlg.cpp b/src/src/switcherdlg.cpp
index 51142827..a53b565a 100644
--- a/src/src/switcherdlg.cpp
+++ b/src/src/switcherdlg.cpp
@@ -115,7 +115,8 @@ void wxSwitcherItems::Init()
     m_rowCount = 10;
     m_columnCount = 0;
 
-#if defined(__WXMSW__) && wxUSE_UXTHEME
+// wxUxThemeEngine class is removed before wx release 3.1.1
+#if defined(__WXMSW__) && wxUSE_UXTHEME &&!wxCHECK_VERSION(3, 1, 1)
     // If on Windows XP/Vista, use more appropriate colours.
     // Alatar: What for??? Why should we use fixed colours?
     if (wxUxThemeEngine::GetIfActive())
@@ -926,7 +927,8 @@ void wxSwitcherDialog::Init()
     m_modifierKey = -1;
     m_extraNavigationKey = -1;
 
-#if defined(__WXMSW__) && wxUSE_UXTHEME
+// wxUxThemeEngine class is removed before wx release 3.1.1
+#if defined(__WXMSW__) && wxUSE_UXTHEME && !wxCHECK_VERSION(3, 1, 1)
     if (wxUxThemeEngine::GetIfActive())
         m_borderColour = wxColour(49, 106, 197);
     else

--- End code ---

This patch could fix such build error.

oBFusCATed:
Yes, it fixes it tool.
The switcher windows still renders fine on windows 7, so I think it is safe to commit it.

Navigation

[0] Message Index

Go to full version