From: Pedro A. <ped...@po...> - 2007-07-13 13:38:23
|
Erik van Pienbroek wrote: > Op dinsdag 10-07-2007 om 19:32 uur [tijdzone +0100], schreef Pedro > Alves: > > On 7/10/07, Erik van Pienbroek wrote: > > > > > I know nothing wxWinCE, but if it is a C++ lib, this won't work. > > Mixing C++ from > > diferent compilers doesn't work. Better build wxWinCE with mingw32ce. > > Yes, you right. wxWinCE is a c++ library. I've now tried to patch > the configure script and the (bakefile-based) Makefile's. > > wxWinCE now compiles fine, but the linking fails due to the > following missing functions : > > ShellExecuteExW $ arm-wince-mingw32ce-nm -A *.a | grep " T " | grep ShellExecute libcoredll.a:dgbns01034.o:00000000 T ShellExecuteEx This means our header is assuming the function has a "W" suffix, but on WinCE, it doesn't. Our header need fixing -- remember we are reusing the MinGW headers, which were originally written for desktop Windows. > LocalLock > LocalUnlock I can't find this exported an any device I have. I have no idea how these are implement. Same for the GlobalLock/GlocalUnlock. AFAIK, the Local/Global distinction cames from as further back as Win16 - I'm not sure they are really needed on WinCE. > GetCharABCWidthsW $ arm-wince-mingw32ce-nm -A *.a | grep " T " | grep GetCharABC libcoredll.a:dgbns00356.o:00000000 T GetCharABCWidths > PrintDlgW $ arm-wince-mingw32ce-nm -A *.a | grep " T " | grep PrintD libcommdlg.a:dkbqs00004.o:00000000 T PrintDlg > EnumDisplaySettingsW $ arm-wince-mingw32ce-nm -A *.a | grep " T " | grep EnumDisplaySettings libcoredll.a:dgbns00290.o:00000000 T EnumDisplaySettings > SHInitDialog $ arm-wince-mingw32ce-nm -A *.a | grep " T " | grep SHInitDialog libaygshell.a:dwhss00052.o:00000000 T SHInitDialog You need to add -laygshell to your bakefile. > TrackPopupMenu $ arm-wince-mingw32ce-nm -A *.a | grep " T " | grep TrackPopupMe libaygshell.a:dwhss00067.o:00000000 T SHTrackPopupMenu libcoredll.a:dgbns01130.o:00000000 T TrackPopupMenuEx Humm, probably TrackPopupMenu should be a macro around TrackPopupMenuEx. > _TrackMouseEvent No idea. > ChooseColorW $ arm-wince-mingw32ce-nm -A *.a | grep " T " | grep ChooseColor libcommdlg.a:dkbqs00000.o:00000000 T ChooseColor Header needs fixing, and -lcommdlg should be used. > WritePrivateProfileStringW > GetPrivateProfileStringW > GetProfileStringW > GetPrivateProfileIntW > GetPrivateProfileIntW I didn't think these exist in WinCE. Are you sure your port is defining the WX_WINCE or similar? > GetWindowsDirectoryW > DefMDIChildProcW > DefFrameProcW > TranslateMDISysAccel > GetMenuItemCount > GetMenuStringW > InsertMenuItemW > DrawStateW > Same kind of analysis can he applied here. > As far as I can tell now these functions are supposed to exist > in WinCE. What is the best way to solve this problem? I ask this > because I don't know what is legal with regards to the use of MSDN > and the Platform SDK for Windows Mobile. > Since we can't copy MSFT's copyrighted material, info from MSDN is the best and looking at SDK headers is not. If you can prove (eg: a small application) that you can get at the definitions by other means (like experimentation, or brute forcing), that's OK too. Cheers, Pedro Alves |