Salutations, I'm getting linker errors (3 unresolved external symbols) building PyWin32.
I followed the instructions on Kashtan's page, so I "nmake all" from PCbuild\WinCE. Everything builds fine until nmake reaches makefile.pywintypes (output included below). It tries to link pywintypes.dll but fails to resolve symbols PyWinMethod_NewWAVEFORMATEXType, PyWAVEFORMATEXType, & PyDEVMODEType, which are required by PyWinTypesmodule.obj. The first two symbols can be found in PyWAVEFORMATEX.cpp, the third in PyDEVMODE.cpp. So adding PyWAVEFORMATEX.cpp to makefile.pywintypes takes care of two of the symbols, but PyDEVMODE.cpp can't compile (output below). And besides, why should I have to add things to the makefile? The compile errors in PyDEVMODE.cpp seem related to differences in the wingdi.h for Windows & WinCE. For example, PyDEVMODE.cpp refers to _devicemodeW.dmPosition. In the Windows wingdi.h, _devicemodeW has such a member; in WinCE's wingdi.h, it's absent. There are many other members that are absent or have different types in the two headers, meaning I can't build PyDEVMODE.cpp, so I can't satisfy PyWinTypesmodule.obj's imports. However, I imagine others can build PyWin32 without lots of tweaks, either to makefile.pywintypes or to PyDEVMODE.cpp. What am I doing wrong? Appreciations, Jesse. ************ link.exe output on original makefile.pywintypes: ************ Building pywintypes link.exe @C:\DOCUME~1\jdavis\LOCALS~1\Temp\nma00560. Creating library binaries\ARMRel420\pywintypes\pywintypes.lib and object binaries\ARMRel420\pywin types\pywintypes.exp LINK : warning LNK4049: locally defined symbol "PyCE_SystemTimeToCTime" imported LINK : warning LNK4049: locally defined symbol "PyCE_UnixTimeToFileTime" imported PyWinTypesmodule.obj : error LNK2001: unresolved external symbol "struct _object * __cdecl PyWinMeth od_NewWAVEFORMATEX(struct _object *,struct _object *)" (?PyWinMethod_NewWAVEFORMATEX@@YAPAU_object@@ [EMAIL PROTECTED]@Z) PyWinTypesmodule.obj : error LNK2001: unresolved external symbol "struct _typeobject PyWAVEFORMATEXT ype" (?PyWAVEFORMATEXType@@3U_typeobject@@A) PyWinTypesmodule.obj : error LNK2001: unresolved external symbol "struct _typeobject PyDEVMODEType" (?PyDEVMODEType@@3U_typeobject@@A) binaries\ARMRel420\pywintypes\pywintypes.dll : fatal error LNK1120: 3 unresolved externals NMAKE : fatal error U1077: 'link.exe' : return code '0x460' Stop. NMAKE : fatal error U1077: '"C:\Program Files\Microsoft eMbedded C++ 4.0\COMMON\EVC\bin\NMAKE.EXE"' : return code '0x2' Stop. NMAKE : fatal error U1077: '"C:\Program Files\Microsoft eMbedded C++ 4.0\COMMON\EVC\bin\NMAKE.EXE"' : return code '0x2' Stop. ************ clarm.exe output after adding PyDEVMODE.cpp to makefile.pywintypes: ************ clarm.exe /O2 /D "ARM" /D "_ARM_" /D "NDEBUG" /I ..\..\Include /I ..\..\PC\WinCE /D Py_ENAB LE_SHARED /D _WIN32_WCE=420 /D WIN32_PLATFORM_PSPC=420 /D UNDER_CE=420 /D UNICODE /D _UNICODE /D _ USRDLL /D WIN32PPC /D WIN32 /D STRICT /D INTERNATIONAL /D USA /D INTLMSG_CODEPAGE /nologo /W3 /Fp" binaries\ARMRel420\pywintypes\pywintypes.pch" /Fo"binaries\ARMRel420\pywintypes\\" /c /D BUILD_PYWIN TYPES /D /Oxs C:\share\pywin32\win32\src\PyDEVMODE.cpp PyDEVMODE.cpp c:\share\pywin32\win32\src\pydevmode.cpp(26) : error C2039: 'dmPosition' : is not a member of '_devi cemodeW' c:\program files\windows ce tools\wce420\pocket pc 2003\include\armv4\wingdi.h(427) : see de claration of '_devicemodeW' c:\share\pywin32\win32\src\pydevmode.cpp(26) : error C2228: left of '.x' must have class/struct/unio n type c:\share\pywin32\win32\src\pydevmode.cpp(26) : error C2440: 'initializing' : cannot convert from 'ch ar [40]' to 'int' This conversion requires a reinterpret_cast, a C-style cast or function-style cast <snip> .....and many other errors ************ Relevant environment variables ************ CC=clarm.exe CESUBSYSTEM=windowsce,4.20 CEVERSION=420 CFG=ARMREL INCLUDE=C:\Program Files\Windows CE Tools\WCE420\pocket pc 2003\include\armv4;C:\Program Files\Windo ws CE Tools\WCE420\pocket pc 2003\MFC\include;C:\Program Files\Windows CE Tools\WCE420\pocket pc 200 3\ATL\include; LIB=C:\Program Files\Windows CE Tools\WCE420\pocket pc 2003\lib\armv4;C:\Program Files\Windows CE To ols\WCE420\pocket pc 2003\MFC\lib\armv4;C:\Program Files\Windows CE Tools\WCE420\pocket pc 2003\ATL\ lib\armv4; OS=Windows_NT OSVERSION=WCE420 PLATFORM=pocket pc 2003 PYWIN32ROOT=C:\share\pywin32 SDKROOT=C:\Program Files\Windows CE Tools TARGETCPU=ARM TARGET_OSVERSION=420 WCEROOT=C:\Program Files\Microsoft eMbedded C++ 4.0 _______________________________________________ PythonCE mailing list PythonCE@python.org http://mail.python.org/mailman/listinfo/pythonce