Closed GoogleCodeExporter closed 8 years ago
The path of vc60.pdb that's being referenced in strmbasd.lib was generated here:
c:\dx9sdk\samples\c++\directshow\baseclasses\debug\vc60.pdb
vc60.pdb resulted from the compilation of strmbasd.lib, and should have been
distributed with it. At the time (prior to 2005), DirectShow was still part of
DirectX SDK, as it apparently was here. Now it's part of the Windows SDK. If
the interface has changed since then, the animation module will need to be
updated to maintain compatibility.
Original comment by pcowe...@yahoo.com
on 2 Dec 2013 at 6:32
[deleted comment]
[deleted comment]
I found another way to resolve this. Since the linker is ignoring the debug
information in strmbasd.lib, since the vc60.pdb debug database is missing, I've
found it's easy to just use strmbase.lib (the release version) instead. And the
way I've done it, it isn't even necessary for a DarkDGK library directory to
include the strmbase.lib file (either version) at all! Because the portion of
that library that is needed is within the resulting animation.lib anyway.
Here's how it's done:
--------------------
In Dark Basic Pro SDK\Shared\Animation\CAnimation.cpp:
delete lines 20-24
#ifdef _DEBUG
#pragma comment ( lib, "strmbasd.lib" )
#else
#pragma comment ( lib, "strmbase.lib" )
#endif
--------------------
In Dark Basic Pro SDK\Shared\Animation\CAnimation.h:
Replace line 13
#include <streams.h>
with this small block of code:
#ifdef DEBUG
#define DEBUG_TEMP
#undef DEBUG
#endif
#include <streams.h>
#ifdef DEBUG_TEMP
#undef DEBUG_TEMP
#define DEBUG
#endif
--------------------
In DarkGDK\Code\Compiler - Visual Studio 9\Animation\Animation.vcproj
In Additional Dependencies of the librarian options of the debug configuration:
change
..\..\..\..\Dark Basic Pro SDK\Shared\BaseClasses\strmbasd.lib
to
..\..\..\..\Dark Basic Pro SDK\Shared\BaseClasses\strmbase.lib
--------------------
In Dark Basic Pro SDK\DarkSDK\Animation\Animation.vcproj
In Additional Dependencies of the librarian options of the debug configuration:
change
..\..\Shared\BaseClasses\strmbasd.lib
to
..\..\Shared\BaseClasses\strmbase.lib
and add libcmt to Ignore Specific Library
--------------------
And that's it. The release library strmbase.lib will be included in
animation.lib (as I believe it was before), but the DarkDGK user who links with
animation.lib will no longer need to link to strmbase.lib. And this works for
both release and debug configurations.
Who would be using DarkDGK and want to debug the inner workings of DirectShow
anyway?
Original comment by pcowe...@yahoo.com
on 2 Dec 2013 at 8:52
This was fixed in r106. strmbasd (debug) has been replaced with strmbase
(release) for the debug build.
Original comment by pcowe...@yahoo.com
on 30 Dec 2013 at 2:52
Original issue reported on code.google.com by
pcowe...@yahoo.com
on 1 Dec 2013 at 4:00Attachments: