I figured out by accident (hardlocks on new win98 setup ), that some of us using DX90SDK might link DirectShow against the DXMedia libs, which were designed for DX7.0 and have been consolidated into DX SDK from about 8.x on.
I guess compiling against the libs of the same SDK might give some stability improvements, so i started that way:
Now, i'm stuck at this (everything compiles, but CivCTP_dbg.exe/CivCTP.exe does not link):
So some COM-Symbols of DirectX already exist in WlgGen.obj, while some of strmbasd.lib seems to need some extra lib.
Any suggestions where to search for removal of those symbols and which library might contain the last two symbols?
PS: The temporary resolution for hardlocks with DXMedia 6.0 together with DirectX 9.0b and the NVidia Driver 61.76 is installing the graphics driver twice and the rest in a certain sequence. Because DXMedia contains the oldest libraries, this installation sequence worked for me:[list=1][*]Win98 SE[*]Nvidia Driver (just for resolution)[*]CTP2 (installs included DXMedia)[*]DXMedia 6.0 SDK[*]NVidia Driver remove/reinstall[*]DirectX 9.0b SDK[/list=1]
I guess compiling against the libs of the same SDK might give some stability improvements, so i started that way:
- open civctp.dsw
- remove DXMedia includes from path settings
- add C:\DXSDK\Samples\C++\DirectShow\BaseClasses as a top include path (below DXSDK\include)
- open C:\DXSDK\Samples\C++\DirectShow\BaseClasses\basecl asses.dsw
- compile at least the release and debug version
- delete/move libs\DXMedia out of the ctp2 source path
- add C:\DXSDK\Samples\C++\DirectShow\BaseClasses\Releas e and C:\DXSDK\Samples\C++\DirectShow\BaseClasses\Debug to the libraries search path
- open civctp.dsw again
- remove ..\libs\dxmedia\lib\ prefix for each dxmedia .lib in linker section of ctp2.
Now, i'm stuck at this (everything compiles, but CivCTP_dbg.exe/CivCTP.exe does not link):
Code:
Linker-Vorgang läuft... LINK : warning LNK4075: /INCREMENTAL wird auf Grund der Angabe von /DEBUGTYPE ignoriert strmbasd.lib(strmiids.obj) : error LNK2005: _IID_IKsPropertySet bereits in WldGen.obj definiert strmbasd.lib(strmiids.obj) : error LNK2005: _IID_IReferenceClock bereits in WldGen.obj definiert strmbasd.lib(strmiids.obj) : error LNK2005: _IID_IDirectDrawColorControl bereits in WldGen.obj definiert strmbasd.lib(strmiids.obj) : error LNK2005: _IID_IDirectDrawClipper bereits in WldGen.obj definiert strmbasd.lib(strmiids.obj) : error LNK2005: _IID_IDirectDrawPalette bereits in WldGen.obj definiert strmbasd.lib(strmiids.obj) : error LNK2005: _IID_IDirectDrawSurface7 bereits in WldGen.obj definiert strmbasd.lib(strmiids.obj) : error LNK2005: _IID_IDirectDrawSurface4 bereits in WldGen.obj definiert strmbasd.lib(strmiids.obj) : error LNK2005: _IID_IDirectDrawSurface3 bereits in WldGen.obj definiert strmbasd.lib(strmiids.obj) : error LNK2005: _IID_IDirectDrawSurface2 bereits in WldGen.obj definiert strmbasd.lib(strmiids.obj) : error LNK2005: _IID_IDirectDrawSurface bereits in WldGen.obj definiert strmbasd.lib(strmiids.obj) : error LNK2005: _IID_IDirectDraw2 bereits in WldGen.obj definiert strmbasd.lib(strmiids.obj) : error LNK2005: _IID_IDirectDraw bereits in WldGen.obj definiert strmbasd.lib(strmiids.obj) : error LNK2005: _CLSID_DirectDrawClipper bereits in WldGen.obj definiert strmbasd.lib(strmiids.obj) : error LNK2005: _CLSID_DirectDraw bereits in WldGen.obj definiert strmbasd.lib(wxutil.obj) : error LNK2001: Nichtaufgeloestes externes Symbol __imp__SysAllocString@4 strmbasd.lib(wxutil.obj) : error LNK2001: Nichtaufgeloestes externes Symbol __imp__SysFreeString@4 CivCTP_dbg.exe : fatal error LNK1120: 2 unaufgeloeste externe Verweise Fehler beim Ausführen von link.exe.
Any suggestions where to search for removal of those symbols and which library might contain the last two symbols?
PS: The temporary resolution for hardlocks with DXMedia 6.0 together with DirectX 9.0b and the NVidia Driver 61.76 is installing the graphics driver twice and the rest in a certain sequence. Because DXMedia contains the oldest libraries, this installation sequence worked for me:[list=1][*]Win98 SE[*]Nvidia Driver (just for resolution)[*]CTP2 (installs included DXMedia)[*]DXMedia 6.0 SDK[*]NVidia Driver remove/reinstall[*]DirectX 9.0b SDK[/list=1]
Comment