What is strmbasedu.lib and where did it go?
Recently I was asked the following (paraphrased):
I am trying to build a DirectShow project which I inherited. I get this error: "fatal error LNK1104: cannot open file 'strmbasdU.lib". I am able to build strmbase.lib and strmbasd.lib.
What is strmbasdu.lib? In older DirectShow SDKs, strmbaseu.lib and strmbasdu.lib were the Unicode builds of the DirectShow base class library.
Configuration | Lib |
---|---|
x86 ANSI Retail | strmbase.lib |
x86 ANSI Debug | strmbasd.lib |
x86 Unicode Retail | strmbaseu.lib |
x86 Unicode Debug | strmbasdu.lib |
In the Windows Server 2003 R2 Platform SDK, the DirectShow samples switched from VC6 project files to makefiles (long story). These makefiles did not include Unicode project configurations, unfortunately.
In the Windows SDK for Windows Vista, we finally replaced the makefiles with VC 2005 project files and included both Unicode and ANSI project configurations. Now the matrix looks like this:
Configuration | Lib |
---|---|
x86 ANSI Retail | strmbase.lib |
x86 ANSI Debug | strmbasd.lib |
x86 Unicode Retail | strmbase.lib |
x86 Unicode Debug | strmbasd.lib |
Note the lack of "u" suffix. At this point, Unicode should really be anyone's default build setting (barring some specific reason, like a legacy project).
The Windows SDK for Windows Server 2008 adds x64 project settings, keeping the same naming convention (strmbase.lib for all release builds, strmbasd.lib for all debug builds).
Comments
- Anonymous
January 17, 2009
PingBack from http://www.hilpers.com/1179418-strmbasd-lib