64-bit wxPython Compile errors
Dave Burdick
dburdick at skinvue.net
Fri Dec 28 22:15:47 PST 2007
Robin Dunn <robin <at> alldunn.com> writes:
>
> Dave Burdick wrote:
> > I've managed to compile the wx DLL's in 64-bit, but I'm having trouble
> > compiling the rest of it (i.e. the Python extension .PYD files). It's
bombing
> > when I run the setup.py command:
> >
> > C:\Python25\python.exe setup.py build_ext --inplace MONOLITHIC=0
> >
> > Here's the dump:
> >
> > C:\wxPythonSrc\wxPython-src-2.8.7.1\wxPython>C:\Python25\python.exe
setup.py bui
> > ld_ext --inplace MONOLITHIC=0
> > Preparing CORE...
> > Preparing GLCANVAS...
> > Preparing STC...
> > Preparing ACTIVEX...
> > Preparing GIZMOS...
> > running build_ext
> > building '_core_' extension
> > C:\Program Files\Microsoft SDKs\Windows\v6.0\VC\Bin\x64
\cl.exe /c /nologo /Ox /M
> > D /W4 /GS- /EHsc /DNDEBUG -DWIN32 -D_WINDOWS -D__WXMSW__ -DWXUSINGDLL=1 -
DSWIG_T
> > YPE_TABLE=_wxPython_table -DSWIG_PYTHON_OUTPUT_TUPLE -DWXP_USE_THREAD=1 -
UNDEBUG
> > -D__NO_VC_CRTDBG__ -D__WXDEBUG__ -DwxUSE_UNICODE=1 -Iinclude -Isrc -
IC:\wxPytho
> > nSrc\wxPython-src-2.8.7.1\lib\vc_dll\mswuh -IC:\wxPythonSrc\wxPython-src-
2.8.7.1
> > \include -IC:\wxPythonSrc\wxPython-src-2.8.7.1\contrib\include -
IC:\Python25\inc
> > lude -IC:\Python25\PC /Tpsrc/helpers.cpp /Fobuild.unicode\temp.win32-2.5
\Release
> > \src/helpers.obj /Gy
> > cl : Command line warning D9025 : overriding '/DNDEBUG' with '/UNDEBUG'
> > helpers.cpp
> > C:\wxPythonSrc\wxPython-src-2.8.7.1\include\wx/choicebk.h(96) : warning
C4267: '
> > =' : conversion from 'size_t' to 'int', possible loss of data
> > C:\wxPythonSrc\wxPython-src-2.8.7.1\include\wx/choicebk.h(97) : warning
C4267: '
> > argument' : conversion from 'size_t' to 'int', possible loss of data
> > C:\wxPythonSrc\wxPython-src-2.8.7.1\include\wx/filename.h(393) : error
C2666: 'w
> > xString::operator []' : 3 overloads have similar conversions
> > C:\wxPythonSrc\wxPython-src-2.8.7.1\include\wx/string.h(824):
could be '
> > wxChar &wxString::operator [](wxStringBase::size_type)'
> > C:\wxPythonSrc\wxPython-src-2.8.7.1\include\wx/string.h(822):
or 'wxChar
> > &wxString::operator [](int)'
> > or 'built-in C++ operator[(wxChar, unsigned int)'
> > while trying to match the argument list '(wxString, unsigned int)'
> > C:\wxPythonSrc\wxPython-src-2.8.7.1\include\wx/htmllbox.h(261) : warning
C4267:
> > 'return' : conversion from 'size_t' to 'unsigned int', possible loss of
data
> > error: command 'cl.exe' failed with exit status 2
> >
> > I'm using a 64-bit version of Python 2.5.1 (the standard 64-bit Windows
> > download from Python) using the VC8 SDK compiler. Could it be that there
are
> > incompatiblities beween the VC8 compiler and the VC7.1 compiler which was
used
> > to compile Python 2.5.1 that could be causing the problem?
>
> You probably will run into that problem, but you haven't gotten that far
> yet. This one is a more general C++ error saying that it can figure out
> what is supposed to be used for this statement because of ambiguities
> related to the data types used. I'm not sure why that is not happening
> for other 64-bit compilers however...
>
Thanks Robin. I managed to get a bit further by omitting unicode from the
build. Now however, I'm getting a link error:
build\temp.win32-2.5\Release\src/helpers.obj : fatal error LNK1112: module
machine type 'X86' conflicts with target machine type 'x64'
error: command 'link.exe' failed with exit status 1112
So I assume that the wx helpers.obj file is a 32-bit file. Then I try to re-
compile helpers.cpp and get the overload errors again:
C:\wxPythonSrc\wxPython-src-2.8.7.1\wxPython\src>cl.exe /EHsc helpers.cpp
Microsoft (R) C/C++ Optimizing Compiler Version 14.00.50727.762 for x64
Copyright (C) Microsoft Corporation. All rights reserved.
helpers.cpp
C:\wxPythonSrc\wxPython-src-2.8.7.1\include\wx/filename.h(393) : error
C2666: 'wxString::operator []' : 3 overloads have similar conversions
C:\wxPythonSrc\wxPython-src-2.8.7.1\include\wx/string.h(824): could
be 'wxChar &wxString::operator [](wxStringBase::size_type)'
C:\wxPythonSrc\wxPython-src-2.8.7.1\include\wx/string.h(822):
or 'wxChar &wxString::operator [](int)'
or 'built-in C++ operator[(wxChar, unsigned int)'
while trying to match the argument list '(wxString, unsigned int)'
Do you or does anyone know how to correct this problem via a compiler switch
or setting to ignore overload errors?
Thanks
More information about the wxpython-users
mailing list