c++ - dxguid.lib format
- Jean-Pierre H. Dumas (97/97) Jan 26 2002 I am doing an attempt at porting the SDL to DigitalMars.
- Jan Knepper (3/100) Jan 26 2002 Try to run COFF2OMF on the file.
- Walter (12/108) Jan 26 2002 Your options look fine to me.
I am doing an attempt at porting the SDL to DigitalMars. (http://www.libsdl.org) This lib is compiled usually with gcc (under Linux or MingWin32), or VC6. I did use VC5 to generate the makefiles from the VC6 project files. I hacked heavily the produced makefile, replacing cl with sc, and cleaning up the incredible mess. I still have to use nmake, as smake is not happy yet. Only the Win32 environment is used and targeted. *** The compile is done with: CPP=sc.exe CPP_PROJ=-5 -a4 -mn -o -ff -ND -NL -v0 -WD -I"..\..\src" -I"..\..\src\audio" \ -I"..\..\src\video" -I"..\..\src\video\wincommon" -I"..\..\src\video\windx5" \ -I"..\..\src\events" -I"..\..\src\joystick" -I"..\..\src\cdrom" \ -I"..\..\src\thread" -I"..\..\src\thread\win32" -I"..\..\src\timer" \ -I"..\..\include" /I "..\..\include\SDL" \ -DNDEBUG -DWIN32 -D_WINDOWS -D_WIN32_WINNT=0x0400 \ -DENABLE_WINDIB -DENABLE_DIRECTX \ -o$(INTDIR)\ -c CPP_OBJS=.\Release/ c{$(CPP_OBJS)}.obj:: $(CPP) << $(CPP_PROJ) $< << +++ Compile is going OK, with the exeption of a few files where NULL is found as undefined, even if <stdio.h> is included !!! *** The linking is done with: LINK32=link.exe LINK32_OPTS=/NOLOGO /ECHOINDIRECT /EXETYPE:NT /MACHINE:I386 /MAP /IMPLIB LINK32_OUT="$(OUTDIR)\SDL.dll" LINK32_MAP="$(OUTDIR)\SDL.map" LINK32_FLAGS=snd.lib snn.lib winmm.lib dxguid.lib kernel32.lib user32.lib \ gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib \ oleaut32.lib uuid.lib "$(OUTDIR)\SDL.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) $(LINK32) << $(LINK32_OPTS) $(LINK32_OBJS), $(LINK32_OUT), $(LINK32_MAP), $(LINK32_FLAGS) << +++ Here is what I get: OPTLINK (R) for Win32 Release 7.50B1 Copyright (C) Digital Mars 1989 - 2001 All Rights Reserved Definition File: (.def):.\Release\SDL_joystick.obj(SDL_joystick) Offset 0016DH Record Type 0091 Error 1: Previous Definition Different : _SDL_NumJoysticks dxguid.lib Warning 2: File Not Found dxguid.lib \Release\SDL_dx5events.obj(SDL_dx5events) Error 42: Symbol Undefined _IID_IDirectInputDevice2A \Release\SDL_dx5events.obj(SDL_dx5events) Error 42: Symbol Undefined _GUID_SysMouse \Release\SDL_dx5events.obj(SDL_dx5events) Error 42: Symbol Undefined _GUID_SysKeyboard \Release\SDL_dx5video.obj(SDL_dx5video) Error 42: Symbol Undefined _IID_IDirectDrawSurface3 \Release\SDL_dx5video.obj(SDL_dx5video) Error 42: Symbol Undefined _IID_IDirectDraw2 \Release\SDL_dx5video.obj(SDL_dx5video) Error 42: Symbol Undefined _GUID_POV \Release\SDL_dx5video.obj(SDL_dx5video) Error 42: Symbol Undefined _GUID_Slider \Release\SDL_dx5video.obj(SDL_dx5video) Error 42: Symbol Undefined _GUID_RzAxis \Release\SDL_dx5video.obj(SDL_dx5video) Error 42: Symbol Undefined _GUID_RyAxis \Release\SDL_dx5video.obj(SDL_dx5video) Error 42: Symbol Undefined _GUID_RxAxis \Release\SDL_dx5video.obj(SDL_dx5video) Error 42: Symbol Undefined _GUID_ZAxis \Release\SDL_dx5video.obj(SDL_dx5video) Error 42: Symbol Undefined _GUID_YAxis \Release\SDL_dx5video.obj(SDL_dx5video) Error 42: Symbol Undefined _GUID_XAxis \Release\SDL_dx5video.obj(SDL_dx5video) Error 42: Symbol Undefined _GUID_Key OPTLINK : Warning 134: No Start Address NMAKE : fatal error U1077: 'K:\DM\BIN\link.exe' : return code '0xf' Stop. +++ dxguid.lib is part of the DirectX SDK The version I have from DX 7 SDK is not in the proper format for Optlink. How can I do the transform ? I think I would need to get all objects out of dxguid.lib by using lib.exe, the do a coff2omf, then do a lib again? The doc on lib is confusing and of not much help. coff2omf has no doc in sight. I do not understand too what I need to add as startup code to have a functionnal dll. (Is something missing from the command line ?) BTW, are my sc options correct to produce fast and compact objs and dll ? Help! TIA Jean-Pierre Dumas
Jan 26 2002
Try to run COFF2OMF on the file. Jan "Jean-Pierre H. Dumas" wrote:I am doing an attempt at porting the SDL to DigitalMars. (http://www.libsdl.org) This lib is compiled usually with gcc (under Linux or MingWin32), or VC6. I did use VC5 to generate the makefiles from the VC6 project files. I hacked heavily the produced makefile, replacing cl with sc, and cleaning up the incredible mess. I still have to use nmake, as smake is not happy yet. Only the Win32 environment is used and targeted. *** The compile is done with: CPP=sc.exe CPP_PROJ=-5 -a4 -mn -o -ff -ND -NL -v0 -WD -I"..\..\src" -I"..\..\src\audio" \ -I"..\..\src\video" -I"..\..\src\video\wincommon" -I"..\..\src\video\windx5" \ -I"..\..\src\events" -I"..\..\src\joystick" -I"..\..\src\cdrom" \ -I"..\..\src\thread" -I"..\..\src\thread\win32" -I"..\..\src\timer" \ -I"..\..\include" /I "..\..\include\SDL" \ -DNDEBUG -DWIN32 -D_WINDOWS -D_WIN32_WINNT=0x0400 \ -DENABLE_WINDIB -DENABLE_DIRECTX \ -o$(INTDIR)\ -c CPP_OBJS=.\Release/ c{$(CPP_OBJS)}.obj:: $(CPP) << $(CPP_PROJ) $< << +++ Compile is going OK, with the exeption of a few files where NULL is found as undefined, even if <stdio.h> is included !!! *** The linking is done with: LINK32=link.exe LINK32_OPTS=/NOLOGO /ECHOINDIRECT /EXETYPE:NT /MACHINE:I386 /MAP /IMPLIB LINK32_OUT="$(OUTDIR)\SDL.dll" LINK32_MAP="$(OUTDIR)\SDL.map" LINK32_FLAGS=snd.lib snn.lib winmm.lib dxguid.lib kernel32.lib user32.lib \ gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib \ oleaut32.lib uuid.lib "$(OUTDIR)\SDL.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) $(LINK32) << $(LINK32_OPTS) $(LINK32_OBJS), $(LINK32_OUT), $(LINK32_MAP), $(LINK32_FLAGS) << +++ Here is what I get: OPTLINK (R) for Win32 Release 7.50B1 Copyright (C) Digital Mars 1989 - 2001 All Rights Reserved Definition File: (.def):.\Release\SDL_joystick.obj(SDL_joystick) Offset 0016DH Record Type 0091 Error 1: Previous Definition Different : _SDL_NumJoysticks dxguid.lib Warning 2: File Not Found dxguid.lib \Release\SDL_dx5events.obj(SDL_dx5events) Error 42: Symbol Undefined _IID_IDirectInputDevice2A \Release\SDL_dx5events.obj(SDL_dx5events) Error 42: Symbol Undefined _GUID_SysMouse \Release\SDL_dx5events.obj(SDL_dx5events) Error 42: Symbol Undefined _GUID_SysKeyboard \Release\SDL_dx5video.obj(SDL_dx5video) Error 42: Symbol Undefined _IID_IDirectDrawSurface3 \Release\SDL_dx5video.obj(SDL_dx5video) Error 42: Symbol Undefined _IID_IDirectDraw2 \Release\SDL_dx5video.obj(SDL_dx5video) Error 42: Symbol Undefined _GUID_POV \Release\SDL_dx5video.obj(SDL_dx5video) Error 42: Symbol Undefined _GUID_Slider \Release\SDL_dx5video.obj(SDL_dx5video) Error 42: Symbol Undefined _GUID_RzAxis \Release\SDL_dx5video.obj(SDL_dx5video) Error 42: Symbol Undefined _GUID_RyAxis \Release\SDL_dx5video.obj(SDL_dx5video) Error 42: Symbol Undefined _GUID_RxAxis \Release\SDL_dx5video.obj(SDL_dx5video) Error 42: Symbol Undefined _GUID_ZAxis \Release\SDL_dx5video.obj(SDL_dx5video) Error 42: Symbol Undefined _GUID_YAxis \Release\SDL_dx5video.obj(SDL_dx5video) Error 42: Symbol Undefined _GUID_XAxis \Release\SDL_dx5video.obj(SDL_dx5video) Error 42: Symbol Undefined _GUID_Key OPTLINK : Warning 134: No Start Address NMAKE : fatal error U1077: 'K:\DM\BIN\link.exe' : return code '0xf' Stop. +++ dxguid.lib is part of the DirectX SDK The version I have from DX 7 SDK is not in the proper format for Optlink. How can I do the transform ? I think I would need to get all objects out of dxguid.lib by using lib.exe, the do a coff2omf, then do a lib again? The doc on lib is confusing and of not much help. coff2omf has no doc in sight. I do not understand too what I need to add as startup code to have a functionnal dll. (Is something missing from the command line ?) BTW, are my sc options correct to produce fast and compact objs and dll ? Help! TIA Jean-Pierre Dumas
Jan 26 2002
Your options look fine to me. Yes, you need to run COFF2OMF on the .lib file to change the format. Just coff2omf dxguid.lib should work. "Jean-Pierre H. Dumas" <dumas.jeanpierre free.fr> wrote in message news:1103_1012038610 jeanpierre...I am doing an attempt at porting the SDL to DigitalMars. (http://www.libsdl.org) This lib is compiled usually with gcc (under Linux or MingWin32), or VC6. I did use VC5 to generate the makefiles from the VC6 project files. I hacked heavily the produced makefile, replacing cl with sc, and cleaning up the incredible mess. I still have to use nmake, as smake is not happy yet. Only the Win32 environment is used and targeted. *** The compile is done with: CPP=sc.exeCPP_PROJ=-5 -a4 -mn -o -ff -ND -NL -v0 -WD -I"..\..\src" -I"..\..\src\audio" \-I"..\..\src\video" -I"..\..\src\video\wincommon" -I"..\..\src\video\windx5" \-I"..\..\src\events" -I"..\..\src\joystick" -I"..\..\src\cdrom" \ -I"..\..\src\thread" -I"..\..\src\thread\win32" -I"..\..\src\timer" \ -I"..\..\include" /I "..\..\include\SDL" \ -DNDEBUG -DWIN32 -D_WINDOWS -D_WIN32_WINNT=0x0400 \ -DENABLE_WINDIB -DENABLE_DIRECTX \ -o$(INTDIR)\ -c CPP_OBJS=.\Release/ c{$(CPP_OBJS)}.obj:: $(CPP) << $(CPP_PROJ) $< << +++ Compile is going OK, with the exeption of a few files where NULL is found as undefined, even if <stdio.h> is included !!! *** The linking is done with: LINK32=link.exe LINK32_OPTS=/NOLOGO /ECHOINDIRECT /EXETYPE:NT /MACHINE:I386 /MAP /IMPLIB LINK32_OUT="$(OUTDIR)\SDL.dll" LINK32_MAP="$(OUTDIR)\SDL.map" LINK32_FLAGS=snd.lib snn.lib winmm.lib dxguid.lib kernel32.lib user32.lib\gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib \ oleaut32.lib uuid.lib "$(OUTDIR)\SDL.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) $(LINK32) << $(LINK32_OPTS) $(LINK32_OBJS), $(LINK32_OUT), $(LINK32_MAP),$(LINK32_FLAGS)<< +++ Here is what I get: OPTLINK (R) for Win32 Release 7.50B1 Copyright (C) Digital Mars 1989 - 2001 All Rights Reserved Definition File: (.def):.\Release\SDL_joystick.obj(SDL_joystick) Offset0016DHRecord Type 0091 Error 1: Previous Definition Different : _SDL_NumJoysticks dxguid.lib Warning 2: File Not Found dxguid.lib \Release\SDL_dx5events.obj(SDL_dx5events) Error 42: Symbol Undefined _IID_IDirectInputDevice2A \Release\SDL_dx5events.obj(SDL_dx5events) Error 42: Symbol Undefined _GUID_SysMouse \Release\SDL_dx5events.obj(SDL_dx5events) Error 42: Symbol Undefined _GUID_SysKeyboard \Release\SDL_dx5video.obj(SDL_dx5video) Error 42: Symbol Undefined _IID_IDirectDrawSurface3 \Release\SDL_dx5video.obj(SDL_dx5video) Error 42: Symbol Undefined _IID_IDirectDraw2 \Release\SDL_dx5video.obj(SDL_dx5video) Error 42: Symbol Undefined _GUID_POV \Release\SDL_dx5video.obj(SDL_dx5video) Error 42: Symbol Undefined _GUID_Slider \Release\SDL_dx5video.obj(SDL_dx5video) Error 42: Symbol Undefined _GUID_RzAxis \Release\SDL_dx5video.obj(SDL_dx5video) Error 42: Symbol Undefined _GUID_RyAxis \Release\SDL_dx5video.obj(SDL_dx5video) Error 42: Symbol Undefined _GUID_RxAxis \Release\SDL_dx5video.obj(SDL_dx5video) Error 42: Symbol Undefined _GUID_ZAxis \Release\SDL_dx5video.obj(SDL_dx5video) Error 42: Symbol Undefined _GUID_YAxis \Release\SDL_dx5video.obj(SDL_dx5video) Error 42: Symbol Undefined _GUID_XAxis \Release\SDL_dx5video.obj(SDL_dx5video) Error 42: Symbol Undefined _GUID_Key OPTLINK : Warning 134: No Start Address NMAKE : fatal error U1077: 'K:\DM\BIN\link.exe' : return code '0xf' Stop. +++ dxguid.lib is part of the DirectX SDK The version I have from DX 7 SDK is not in the proper format for Optlink. How can I do the transform ? I think I would need to get all objects out of dxguid.lib by using lib.exe, the do a coff2omf, then do a lib again? The doc on lib is confusing and of not much help. coff2omf has no doc in sight. I do not understand too what I need to add as startup code to have a functionnal dll. (Is something missing from the command line ?) BTW, are my sc options correct to produce fast and compact objs and dll ? Help! TIA Jean-Pierre Dumas
Jan 26 2002