With MSYS, --enable-debug:
GCC 3.2:
ANSI mode: DLL compiles, all samples compile
Unicode mode: DLL compiles, samples do not, but this is just a lack of _T()
here and there (I've corrected some of them in CVS).
GCC 2.95:
ANSI mode: DLL compiles, samples compile, except for treectrl (undefined
reference to wxTreeCtrlNameStr, still investigating, possibily
a compiler bug, because I used the same binutils as my GCC 3.2
installazion (I also tried the latest binutils with no success))
Unicode mode: DLL compiles (after a fix to mingw runtime, should work
fine with newer runtimes).
With makefiles:
Only tested (for now) ANSI/DLL/final/GCC 2.95; has the same problem
in treectrl sample as the MSYS build.
Regards
Mattia
> Tested with GCC 2.95.3-6, GCC 3.2.
> GCC 2.95:
> ANSI mode: DLL compiles, samples compile, except for treectrl (undefined
> reference to wxTreeCtrlNameStr, still investigating, possibily
> a compiler bug, because I used the same binutils as my GCC 3.2
> installazion (I also tried the latest binutils with no
> success))
Got it. Will commit a fix ASAP.
Regards
Mattia
> My results seem different in a few cases:
> 20021211 CVS
> ANSI/DLL/not-FINAL/mingw-gcc-3.2
> makefiles only
> (I modified them, but that doesn't seem a likely
> explanation for these differences)
>
> I also mention some results I had saved for
> wx-2.3.4
> wx-2.2.9
> where that seems relevant.
>
> Items numbered 3 and 4 below seem to be the most significant.
> It seems to me that 4 and 5 have to fail unless you change
> setup.h, and 1 has to fail always.
>
> 1. listbox sample has no makefile.g95
> samples/listbox contains only one file, lboxtest.cpp
> wx-2.2.9 had no such sample; wx-2.3.4 has it
>
> 2. You report unresolved wxTreeCtrlNameStr for 2.95.3-6
> but not for 3.2; I get that error for 3.2 on the
> regtest and treectrl samples. Both these samples
> seem to work with static builds, and fail with
> dll builds, for both mingw 2.95.2-1 and 3.2 .
This is fixed for me in current CVS (fixed today), I hope it is fixed for everyone
else...
> 3. html/test sample: unresolved symbol
> make.EXE[2]: Entering directory
> `C:/wxWindows-CVS-20021211/samples/html/test'
> test.o(.text+0x109): In function `ZN5MyApp6OnInitEv':
> C:/wxWindows-CVS-20021211/samples/html/test/test.cpp:135: undefined
> reference to `_imp___ZN15wxSystemOptions9SetOptionERK8wxStringi'
> The code is
> #if wxUSE_SYSTEM_OPTIONS
> wxSystemOptions::SetOption(wxT("no-maskblt"), 1);
> #endif
> For me, it works for
> wx-2.3.4 mingw-2.95.2-1 static
> wx-2.3.4 mingw-2.95.2-1 dll
> wx-2.3.4 mingw-3.2 static
> but fails for
> wx-2.3.4 mingw-3.2 dll
I fixed this yesterday.
> 4. resource sample: compiler error messages
> make.EXE[1]: Entering directory
> `C:/wxWindows-CVS-20021211/samples/resource'
This requires modifications to setup.h & recompilation (as you note below)
> 5. proplist and db samples require non-default defines:
> dbtest.cpp:67:4: #error Sample cannot be compiled unless setup.h has
> wxUSE_ODBC set to 1
> proplist.cpp:29:2: #error Please set wxUSE_PROPSHEET to 1 in
> include/wx/msw/setup.h and recompile.
...as does this
Thanks!
Mattia
My results seem different in a few cases:
20021211 CVS
ANSI/DLL/not-FINAL/mingw-gcc-3.2
makefiles only
(I modified them, but that doesn't seem a likely
explanation for these differences)
I also mention some results I had saved for
wx-2.3.4
wx-2.2.9
where that seems relevant.
Items numbered 3 and 4 below seem to be the most significant.
It seems to me that 4 and 5 have to fail unless you change
setup.h, and 1 has to fail always.
1. listbox sample has no makefile.g95
samples/listbox contains only one file, lboxtest.cpp
wx-2.2.9 had no such sample; wx-2.3.4 has it
2. You report unresolved wxTreeCtrlNameStr for 2.95.3-6
but not for 3.2; I get that error for 3.2 on the
regtest and treectrl samples. Both these samples
seem to work with static builds, and fail with
dll builds, for both mingw 2.95.2-1 and 3.2 .
3. html/test sample: unresolved symbol
make.EXE[2]: Entering directory `C:/wxWindows-CVS-20021211/samples/html/test'
test.o(.text+0x109): In function `ZN5MyApp6OnInitEv':
C:/wxWindows-CVS-20021211/samples/html/test/test.cpp:135: undefined reference to `_imp___ZN15wxSystemOptions9SetOptionERK8wxStringi'
The code is
#if wxUSE_SYSTEM_OPTIONS
wxSystemOptions::SetOption(wxT("no-maskblt"), 1);
#endif
For me, it works for
wx-2.3.4 mingw-2.95.2-1 static
wx-2.3.4 mingw-2.95.2-1 dll
wx-2.3.4 mingw-3.2 static
but fails for
wx-2.3.4 mingw-3.2 dll
4. resource sample: compiler error messages
make.EXE[1]: Entering directory `C:/wxWindows-CVS-20021211/samples/resource'
resource.cpp: In member function `virtual bool MyApp::OnInit()':
resource.cpp:88: `wxResourceParseString' undeclared (first use this function)
resource.cpp:88: (Each undeclared identifier is reported only once for each
function it appears in.)
resource.cpp:106: `wxResourceCreateMenuBar' undeclared (first use this
function)
resource.cpp: In member function `void MyFrame::OnTestDialog(wxCommandEvent&)':
resource.cpp:182: no matching function for call to `MyDialog::LoadFromResource(
MyFrame* const, const char[8])'
Fails for wx-2.3.4 with
both static and dll
both mingw 2.95.2-1 and 3.2
Worked with wx-2.2.9 with mingw 2.95.2-1 static
Looks like this should not work with default setup.h:
include/wx/msw/setup.h has
#define wxUSE_WX_RESOURCES 0
and LoadFromResource() in include/wx/window.h is guarded by
#if wxUSE_WX_RESOURCES
[The next two items are less important:]
5. proplist and db samples require non-default defines:
dbtest.cpp:67:4: #error Sample cannot be compiled unless setup.h has wxUSE_ODBC set to 1
proplist.cpp:29:2: #error Please set wxUSE_PROPSHEET to 1 in include/wx/msw/setup.h and recompile.
6. Warnings on thread example (but it compiles and links)
thread.cpp: In member function `virtual void* MyThread::Entry()':
thread.cpp:227: warning: unsigned int format, wxThreadIdType arg (arg 3)
thread.cpp:237: warning: unsigned int format, wxThreadIdType arg (arg 4)
thread.cpp:244: warning: unsigned int format, wxThreadIdType arg (arg 3)