My steps to compile wxWidgets:
./configure --build=x86_64-pc-cygwin --without-msw --with-gtk --disable-universal --enable-tooltips --enable-dnd
--disable-universal is important key, it allows to enable tool tips by using --enable-tooltips
(if you will just specify --enable-tooltips then this option will be disabled, such as default configuration is --enable-universal)
--enable-dnd is also required I guess.
In fact here is no matter static\shared or monolithic\non-monolithic configuration.
Also I fixed small compilation error in /usr/src/wxWidgets-2.8.12/include/wx/string.h line 822:
/*wxChar& operator[](int n)
{ return wxStringBase::at(n); }*/
I have just commented-out these two strings.
Then make, make install.
My steps to compile C::B:
./configure --build=x86_64-pc-cygwin --enable-shared
Before typing 'make' in console please look at the following file /usr/src/codeblocks-12.11release8629/src/sdk/wxscintilla/include/wx/wxscintilla.h line 37-43.
Please comment this block:
/*#ifdef WXMAKINGDLL_SCI
#define WXDLLIMPEXP_SCI WXEXPORT
#elif defined(WXUSINGDLL_SCI) || defined(WXUSINGDLL)
#define WXDLLIMPEXP_SCI WXIMPORT
#else // not making nor using DLL
#define WXDLLIMPEXP_SCI
#endif*/
and add the following line a little:
#define WSDLLIMPEXP_SCI
then use Replace command (Ctrl+H) to replaces all entries of WXDLLIMPEXP_SCI word by WSDLLIMPEXP_SCI world for only this file (/usr/src/codeblocks-12.11release8629/src/sdk/wxscintilla/include/wx/wxscintilla.h)!
Now you can type 'make' in console.
However, a few compilation errors will occur.
1.
/usr/src/codeblocks-12.11release8629/src/sdk/macrosmanager.cpp lines 89-105:
my modifications are:
//#ifndef __WXMAC__
// wxRE_ADVANCED);
//#else
wxRE_EXTENDED);
//#endif
m_RE_To83Path.Compile(_T("\\$TO_83_PATH{([^}]*)}"),
//#ifndef __WXMAC__
// wxRE_ADVANCED);
//#else
wxRE_EXTENDED);
//#endif
m_RE_RemoveQuotes.Compile(_T("\\$REMOVE_QUOTES{([^}]*)}"),
//#ifndef __WXMAC__
// wxRE_ADVANCED);
//#else
wxRE_EXTENDED);
//#endif
2.
/usr/src/codeblocks-12.11release8629/src/plugins/debuggergdb/gdb_commands.h lines 204-223:
//#ifndef __WXMAC__
// wxRE_ADVANCED);
//#else
wxRE_EXTENDED);
//#endif
static wxRegEx reStepI2(_T("\\A(0x[A-Fa-f0-9]+)\\s+(\\d+)\\s+in (.*)"),
//#ifndef __WXMAC__
// wxRE_ADVANCED);
//#else
wxRE_EXTENDED);
//#endif
static wxRegEx reStepI3(_T("^(0x[A-Fa-f0-9]+) in (.*)? from (.*)"));
static wxRegEx reStepI4(_T("^(0x[A-Fa-f0-9]+) in (.*)? at (.*)"));
static wxRegEx reNextI(_T("\x1a\x1a(([a-zA-Z]
?.*?)
[0-9]*)
[0-9]*):(middle|beg)
.*)"),
//#ifndef __WXMAC__
// wxRE_ADVANCED);
//#else
wxRE_EXTENDED);
//#endif
and also line 642 in this file:
m_regExp(wxT("^Catchpoint[ \\t]([0-9]+)[ \\t]\\(") + type + wxT("\\)$"), wxRE_EXTENDED/*wxRE_ADVANCED*/)
3.
/usr/src/codeblocks-12.11release8629/src/plugins/debuggergdb/parsewatchvalue.cpp lines 67-71:
//#ifndef __WXMAC__
// wxRE_ADVANCED);
//#else
wxRE_EXTENDED);
//#endif
and last compilation error:
/usr/src/codeblocks-12.11release8629/src/plugins/xpmanifest/windowsxplooknfeel.h line 11-13:
#ifndef __WXMSW__
#error This plugin is for use under Win32 only!
#endif
So, this plugin should be not compiled under GTK\Linux.
Just disable xpmanifest plugin compilation from generated Makefile:
/usr/src/codeblocks-12.11release8629/src/plugins/Makefile
strings like this:
MAYBE_ABBREVIATIONS = abbreviations
#MAYBE_MANIFEST = xpmanifest
SUBDIRS = $(MAYBE_ASTYLE) \
$(MAYBE_AUTOSAVE) \
$(MAYBE_CLASSWIZARD) \
$(MAYBE_CODECOMPLETION) \
$(MAYBE_COMPILER) \
$(MAYBE_DEBUGGER) \
$(MAYBE_MIMEHANDLER) \
$(MAYBE_SCRIPTEDWIZARD) \
$(MAYBE_PROJECTSIMPORTER) \
$(MAYBE_OPENFILESLIST) \
$(MAYBE_TODO) \
$(MAYBE_ABBREVIATIONS) \
#$(MAYBE_MANIFEST) \
contrib
then compilation goes fine......
You can 'make install' after conpilation and run C::B under Cygwin + remote X11 display, such as
export DISPLAY=localhost:0.0
(you should have local X11 server installed and running on Windows host, such as Xming -
http://www.straightrunning.com/XmingNotes/)
however, I see problem: all plugins (I mean only standard plugins for C::B) are being built to static library configuration.
But we need to have them in shared library configuration. So, 0 plugins are loaded.
However, I specified --enable-shared during C::B configuration.
Could anyone help, or make an idea?