Building for MSW with cygwin/mingw32

Hello,

Building the current stable release (2.8.8.1) of wxPython under WinXP using cygwin/mingw32 following the instructions given in the BUILD page throws an "Undefined reference" error. It occurs during linking the _control_wrap.o when setting up the python wrapper. Building wx itself did work out, though.

Has someone already experienced that too?

Regards, Frank

···

-------------

C:\cygwin\bin\g++.exe -mno-cygwin -shared -s build.unicode\temp.win32-2.5\Releas
e\src\msw\_controls_wrap.o build.unicode\temp.win32-2.5\Release\src\msw\_control
s_.def -L/opt/wx/2.8/lib -Lc:\Python25\libs -Lc:\Python25\PCBuild -lwx_mswud_ric
htext-2.8 -lwx_mswud_aui-2.8 -lwx_mswud_xrc-2.8 -lwx_mswud_qa-2.8 -lwx_mswud_htm
l-2.8 -lwx_mswud_adv-2.8 -lwx_mswud_core-2.8 -lwx_baseud_xml-2.8 -lwx_baseud_net
-2.8 -lwx_baseud-2.8 -lpython25 -lmsvcr71 -o wx\_controls_.pyd -mno-cygwin -mwin
dows -mthreads -mno-cygwin -mwindows -Wl,--subsystem,windows -mwindows
build.unicode\temp.win32-2.5\Release\src\msw\_controls_wrap.o:_controls_wrap.cpp
:(.text+0xcdf5a): undefined reference to `__imp___ZTV23wxDatePickerCtrlGeneric'
build.unicode\temp.win32-2.5\Release\src\msw\_controls_wrap.o:_controls_wrap.cpp
:(.text+0xcdf65): undefined reference to `__imp___ZN23wxDatePickerCtrlGeneric4In
itEv'
build.unicode\temp.win32-2.5\Release\src\msw\_controls_wrap.o:_controls_wrap.cpp
:(.text+0xcdfd0): undefined reference to `__imp___ZN23wxDatePickerCtrlGeneric6Cr
eateEP8wxWindowiRK10wxDateTimeRK7wxPointRK6wxSizelRK11wxValidatorRK8wxString'
build.unicode\temp.win32-2.5\Release\src\msw\_controls_wrap.o:_controls_wrap.cpp
:(.text+0xce98d): undefined reference to `__imp___ZTV23wxDatePickerCtrlGeneric'
build.unicode\temp.win32-2.5\Release\src\msw\_controls_wrap.o:_controls_wrap.cpp
:(.text+0xce998): undefined reference to `__imp___ZN23wxDatePickerCtrlGeneric4In
itEv'
build.unicode\temp.win32-2.5\Release\src\msw\_controls_wrap.o:_controls_wrap.cpp
:(.text+0xceece): undefined reference to `__imp___ZN23wxDatePickerCtrlGeneric6Cr
eateEP8wxWindowiRK10wxDateTimeRK7wxPointRK6wxSizelRK11wxValidatorRK8wxString'
collect2: ld returned 1 exit status
error: command 'g++' failed with exit status 1

Frank Hempel wrote:

Hello,

Building the current stable release (2.8.8.1) of wxPython under WinXP using cygwin/mingw32 following the instructions given in the BUILD page throws an "Undefined reference" error. It occurs during linking the _control_wrap.o when setting up the python wrapper. Building wx itself did work out, though.

Set wxUSE_DATEPICKCTRL_GENERIC to 1 in setup.h and rebuild wx. I've updated the build instructions to include this.

···

--
Robin Dunn
Software Craftsman
http://wxPython.org Java give you jitters? Relax with wxPython!

Robin Dunn schrieb:

Frank Hempel wrote:

Hello,

Building the current stable release (2.8.8.1) of wxPython under WinXP using cygwin/mingw32 following the instructions given in the BUILD page throws an "Undefined reference" error. It occurs during linking the _control_wrap.o when setting up the python wrapper. Building wx itself did work out, though.

Set wxUSE_DATEPICKCTRL_GENERIC to 1 in setup.h and rebuild wx. I've updated the build instructions to include this.

Thanks for the help. It worked with this flag set.

Ciao, Frank

Hi,
I read through the instructions (Phoenix/README.rst at master · wxWidgets/Phoenix · GitHub), and the only reference to was in the "Building on Windows with MS Visual C++".
I could not find a reference to wxUSE_DATEPICKCTRL_GENERIC in the "Building on Windows with Cygwin/MingW32" section.
Am I reading the instructions from the wrong location ?
Bye,
Ron.

···

-----Original Message-----
From: Frank Hempel [mailto:red_socks@gmx.de]
Sent: Sunday, September 28, 2008 22:47
To: wxpython-users@lists.wxwidgets.org
Subject: Re: [wxpython-users] Building for MSW with cygwin/mingw32

Robin Dunn schrieb:

Frank Hempel wrote:

Hello,

Building the current stable release (2.8.8.1) of wxPython under WinXP
using cygwin/mingw32 following the instructions given in the BUILD
page throws an "Undefined reference" error. It occurs during linking
the _control_wrap.o when setting up the python wrapper. Building wx
itself did work out, though.

Set wxUSE_DATEPICKCTRL_GENERIC to 1 in setup.h and rebuild wx. I've
updated the build instructions to include this.

Thanks for the help. It worked with this flag set.

Ciao, Frank

Barak, Ron schrieb:

Hi,
I read through the instructions (Phoenix/README.rst at master · wxWidgets/Phoenix · GitHub), and the only reference to was in the "Building on Windows with MS Visual C++".
I could not find a reference to wxUSE_DATEPICKCTRL_GENERIC in the "Building on Windows with Cygwin/MingW32" section.

That irritated me a little as well.

If you follow the instructions from the Cygwin/Mingw32 section, then you manually have to add the line

#define wxUSE_DATEPICKCTRL_GENERIC 1

in the file
%WXDIR%/bld/lib/wx/include/msw-unicode-debug-2.8/wx/setup.h
where 'bld' is the suggested build directory and 'msw-unicode-debug-2.8' may differ depending on you build settings.

Changing the flag in %WXDIR%/include/wx/msw/setup0.h or copying it to setup.h or anything like that did not work for me, even if one reconfigures everything, which actually creates the setup.h in the bld directory.

HTH, Frank

Barak, Ron wrote:

Hi,
I read through the instructions (Phoenix/README.rst at master · wxWidgets/Phoenix · GitHub), and the only reference to was in the "Building on Windows with MS Visual C++".
I could not find a reference to wxUSE_DATEPICKCTRL_GENERIC in the "Building on Windows with Cygwin/MingW32" section.
Am I reading the instructions from the wrong location ?

There doesn't appear to be a way to set that value using configure. You'll have to do it manually after configure has run. (Or submit a patch to configure.in)

···

--
Robin Dunn
Software Craftsman
http://wxPython.org Java give you jitters? Relax with wxPython!