|
From: Martin S. <sc...@ms...> - 2007-10-16 10:53:25
|
Michael Droettboom wrote: > Hmmm... Well, I think we've reached the limit of my MSVC knowledge > (which doesn't go very far.) I presume that for your local copy, you > can just hard code it to : > > #ifdef 1 || WIN32 || _MSC_VER Actually, I just tried that, and it didn't work. Again, I don't really know anything about preprocessing in C, but it seems you can't put more than one MACRO in an #ifdef statement. Instead, it looks like you need to do: #if defined(WIN32) || defined(_MSC_VER) This *does* work for me. So it seems WIN32 isn't defined on my MSVC7.1, but _MSC_VER is (I've discovered that _WIN32 is defined as well). Anyways, I'm not sure if this is the ideal way to have it, but I've attached a patch against the latest rev. Cheers, Martin > > and at least get it working for yourself. But I think someone with more > MSVC experience on this list may have to look into this and have more to > offer. > > Cheers, > Mike > > Martin Spacek wrote: >> Sorry for the delay. I gave that a try, but it didn't help. Seems that >> _MSC_VER is undefined as well... >> >> Martin >> >> Michael Droettboom wrote: >>> Martin Spacek wrote: >>>> It's been a few months since I've updated and compiled from svn. I got >>>> this error today from rev 3926 (in winxp using msvc71): >>>> >>>>> python setup.py build_ext --inplace --force >>>> ============================================================================ >>>> >>>> BUILDING MATPLOTLIB >>>> matplotlib: 0.90.1 >>>> python: 2.5.1 (r251:54863, Apr 18 2007, 08:51:08) [MSC >>>> v.1310 32 bit (Intel)] >>>> platform: win32 >>>> Windows version: (5, 1, 2600, 2, 'Service Pack 2') >>>> >>>> REQUIRED DEPENDENCIES >>>> numpy: 1.0.4.dev4155 >>>> freetype2: found, but unknown version (no pkg-config) >>>> >>>> OPTIONAL DEPENDENCIES >>>> Gtk+: no >>>> * Building for Gtk+ requires pygtk; you >>>> must be >>>> able >>>> * to "import gtk" in your build/install >>>> environment >>>> Tkinter: Tkinter: 50704, Tk: 8.4, Tcl: 8.4 >>>> wxPython: 2.8.4.0 >>>> * WxAgg extension not required for wxPython >>>>> = 2.8 >>>> Qt: no >>>> Qt4: no >>>> Cairo: no >>>> libpng: found, but unknown version (no pkg-config) >>>> >>>> [Edit setup.cfg to suppress the above messages] >>>> ============================================================================ >>>> >>>> running build_ext >>>> No module named msvccompiler in numpy.distutils; trying from distutils >>>> building 'matplotlib.ft2font' extension >>>> C:\bin\Microsoft Visual Studio .NET 2003\Vc7\bin\cl.exe /c /nologo /Ox >>>> /MD /W3 /GX /DNDEBUG -Iwin32_static\include -I. - >>>> Iwin32_static\include\freetype2 -I.\freetype2 -IC:\bin\Python25\include >>>> -IC:\bin\Python25\PC /Tpsrc/ft2font.cpp /Fobuild >>>> \temp.win32-2.5\Release\src/ft2font.obj >>>> Found executable C:\bin\Microsoft Visual Studio .NET >>>> 2003\Vc7\bin\cl.exe >>>> C:\bin\Microsoft Visual Studio .NET 2003\Vc7\bin\cl.exe /c /nologo /Ox >>>> /MD /W3 /GX /DNDEBUG -Iwin32_static\include -I. - >>>> Iwin32_static\include\freetype2 -I.\freetype2 -IC:\bin\Python25\include >>>> -IC:\bin\Python25\PC /Tpsrc/mplutils.cpp /Fobuil >>>> d\temp.win32-2.5\Release\src/mplutils.obj >>>> C:\bin\Microsoft Visual Studio .NET 2003\Vc7\bin\cl.exe /c /nologo /Ox >>>> /MD /W3 /GX /DNDEBUG -Iwin32_static\include -I. - >>>> Iwin32_static\include\freetype2 -I.\freetype2 -IC:\bin\Python25\include >>>> -IC:\bin\Python25\PC /TpCXX\cxxsupport.cxx /Fobu >>>> ild\temp.win32-2.5\Release\CXX\cxxsupport.obj >>>> C:\bin\Microsoft Visual Studio .NET 2003\Vc7\bin\cl.exe /c /nologo /Ox >>>> /MD /W3 /GX /DNDEBUG -Iwin32_static\include -I. - >>>> Iwin32_static\include\freetype2 -I.\freetype2 -IC:\bin\Python25\include >>>> -IC:\bin\Python25\PC /TpCXX\cxx_extensions.cxx / >>>> Fobuild\temp.win32-2.5\Release\CXX\cxx_extensions.obj >>>> C:\bin\Microsoft Visual Studio .NET 2003\Vc7\bin\cl.exe /c /nologo /Ox >>>> /MD /W3 /GX /DNDEBUG -Iwin32_static\include -I. - >>>> Iwin32_static\include\freetype2 -I.\freetype2 -IC:\bin\Python25\include >>>> -IC:\bin\Python25\PC /TpCXX\IndirectPythonInterf >>>> ace.cxx /Fobuild\temp.win32-2.5\Release\CXX\IndirectPythonInterface.obj >>>> C:\bin\Microsoft Visual Studio .NET 2003\Vc7\bin\cl.exe /c /nologo /Ox >>>> /MD /W3 /GX /DNDEBUG -Iwin32_static\include -I. - >>>> Iwin32_static\include\freetype2 -I.\freetype2 -IC:\bin\Python25\include >>>> -IC:\bin\Python25\PC /TcCXX\cxxextensions.c /Fob >>>> uild\temp.win32-2.5\Release\CXX\cxxextensions.obj >>>> C:\bin\Microsoft Visual Studio .NET 2003\Vc7\bin\link.exe /DLL /nologo >>>> /INCREMENTAL:NO /LIBPATH:win32_static\lib /LIBPAT >>>> H:C:\bin\Python25\libs /LIBPATH:C:\bin\Python25\PCBuild freetype.lib >>>> z.lib /EXPORT:initft2font build\temp.win32-2.5\Rele >>>> ase\src/ft2font.obj build\temp.win32-2.5\Release\src/mplutils.obj >>>> build\temp.win32-2.5\Release\CXX\cxxsupport.obj build\ >>>> temp.win32-2.5\Release\CXX\cxx_extensions.obj >>>> build\temp.win32-2.5\Release\CXX\IndirectPythonInterface.obj >>>> build\temp.wi >>>> n32-2.5\Release\CXX\cxxextensions.obj /OUT:lib\matplotlib\ft2font.pyd >>>> /IMPLIB:build\temp.win32-2.5\Release\src\ft2font.l >>>> ib >>>> Found executable C:\bin\Microsoft Visual Studio .NET >>>> 2003\Vc7\bin\link.exe >>>> building 'matplotlib.ttconv' extension >>>> C:\bin\Microsoft Visual Studio .NET 2003\Vc7\bin\cl.exe /c /nologo /Ox >>>> /MD /W3 /GX /DNDEBUG -Iwin32_static\include -I. - >>>> IC:\bin\Python25\include -IC:\bin\Python25\PC /Tpsrc/_ttconv.cpp >>>> /Fobuild\temp.win32-2.5\Release\src/_ttconv.obj >>>> C:\bin\Microsoft Visual Studio .NET 2003\Vc7\bin\cl.exe /c /nologo /Ox >>>> /MD /W3 /GX /DNDEBUG -Iwin32_static\include -I. - >>>> IC:\bin\Python25\include -IC:\bin\Python25\PC /Tpttconv/pprdrv_tt.cpp >>>> /Fobuild\temp.win32-2.5\Release\ttconv/pprdrv_tt.o >>>> bj >>>> C:\bin\Microsoft Visual Studio .NET 2003\Vc7\bin\cl.exe /c /nologo /Ox >>>> /MD /W3 /GX /DNDEBUG -Iwin32_static\include -I. - >>>> IC:\bin\Python25\include -IC:\bin\Python25\PC /Tpttconv/pprdrv_tt2.cpp >>>> /Fobuild\temp.win32-2.5\Release\ttconv/pprdrv_tt2 >>>> .obj >>>> C:\bin\Microsoft Visual Studio .NET 2003\Vc7\bin\cl.exe /c /nologo /Ox >>>> /MD /W3 /GX /DNDEBUG -Iwin32_static\include -I. - >>>> IC:\bin\Python25\include -IC:\bin\Python25\PC /Tpttconv/ttutil.cpp >>>> /Fobuild\temp.win32-2.5\Release\ttconv/ttutil.obj >>>> ttutil.cpp >>>> ttconv\ttutil.cpp(38) : error C3861: 'vsnprintf': identifier not found, >>>> even with argument-dependent lookup >>>> ttconv\ttutil.cpp(45) : error C3861: 'vsnprintf': identifier not found, >>>> even with argument-dependent lookup >>>> error: Command "C:\bin\Microsoft Visual Studio .NET 2003\Vc7\bin\cl.exe >>>> /c /nologo /Ox /MD /W3 /GX /DNDEBUG -Iwin32_stat >>>> ic\include -I. -IC:\bin\Python25\include -IC:\bin\Python25\PC >>>> /Tpttconv/ttutil.cpp /Fobuild\temp.win32-2.5\Release\ttcon >>>> v/ttutil.obj" failed with exit status 2 >>>> >>>> >>>> >>>> The latest change for ttutil.cpp was: >>>> >>>> Revision: 3696 >>>> Author: cmoad >>>> Date: 5:53:21 AM, Friday, August 10, 2007 >>>> Message: >>>> added win32 checks for vsnprintf which is _vsnprintf on windows >>>> ---- >>>> Modified : /trunk/matplotlib/ttconv/ttutil.cpp >>>> >>>> So it looks like both the lines that check #ifdef WIN32 are evaluating >>>> as false, even though I'm in win32. I don't know much about C++. As a >>>> hack, replacing vsnprintf with _vsnprintf in the else clauses gives >>>> me a >>>> successful build. >>> Hmm... I wonder if the WIN32 symbol is a Mingw32 thing and not a MS >>> Visual Studio thing. One thing I have seen elsewhere is the use of >>> _MSC_VER to do this. Would you mind trying: >>> >>> #ifdef WIN32 || _MSC_VER >>> >>> instead of >>> >>> #ifdef WIN32 >>> >>> (I don't have a MS Visual Studio to test with myself). Maybe one of >>> the Windows guys on this list has another idea as well. >>> >> >> |