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.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\wind
x5" \
-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









Jan Knepper <jan smartsoft.cc> 