6

As the title says, I've got this error. I've got installed:

  • Visual Studio Professional 2010
  • Microsoft Windows SDK 7.0A (set as default)
  • Microsoft Windows SDK 7.1
  • Microsoft Windows SDK 6.1 (recommended by Intel's release notes)
  • DirectX SDK June 2010

There must be some SDK or library I'm missing. What could it be?

By the way, I am also missing a file called "combase.h". Probably related.

Thanks!

athairus
  • 213
  • 1
  • 4
  • 8

1 Answers1

9

Add the following on include path (your missing files are there):

  • $(WindowsSDK)\Samples\multimedia\directshow\baseclasses

You might need to build static libraries using solution in this directory so that you sample could also link produced .lib files (they also need to be on search path then).

Roman R.
  • 68,205
  • 6
  • 94
  • 158
  • Well, I had to manually specify the path but it finally found the streams.h file. I can't believe I had to install the samples in order to get the necessary .h file! Anyway, could you help me with that second thing you talked about? The compiler needs a file called "strmbasd.lib" – athairus May 27 '12 at 18:46
  • 1
    You obviously need BaseClasses, the .h files (from your question). Now you are either good, or if not - look for `baseclasses.sln` solution file in the same directory. Build it and find `Debug\strmbasd.lib` and `Release\strmbase.lib` static libraries built. You will need to have them linked into whatever you are building in first place. – Roman R. May 27 '12 at 18:50
  • Ohhh... you meant from within the Microsoft SDK! I was looking in the Intel one! So I managed to build the .lib without issues, but I'm not quite sure where it goes. I get this error from the linker: cannot open input file '\Debug\strmbasd.lib' and I'm not quite sure where to put this file. I already added the place the .lib file originally was written to to the lib path, but that's not the right place apparently. – athairus May 27 '12 at 18:58
  • Now you have those `.lib`s built, then go back to your Intel project and add .lib directory onto linker search path. – Roman R. May 27 '12 at 18:59
  • Where do I go to set that? Is it under 'VC++ Directories' in the properties menu? – athairus May 27 '12 at 19:02
  • 1
    Below that, under `Linker`, `Additional Library Directories` – Roman R. May 27 '12 at 19:04
  • I manually added "C:\Program Files\Microsoft SDKs\Windows\v6.1\Samples\Multimedia\DirectShow\BaseClasses\Debug" to the additional library directories for each project and I still get the same error :( I guess I'll just make some damn /Debug directories on each project and add it there... this is such a quagmire... – athairus May 27 '12 at 19:16
  • let us [continue this discussion in chat](http://chat.stackoverflow.com/rooms/11798/discussion-between-whiplash-and-roman-r) – athairus May 27 '12 at 19:20
  • I had the problem where it couldn't find strmbasd.lib. RomanR's clue on building the BaseClasses first fixed it for me. I think building it copied a bunch of headers to the appropriate folders. – D. Kermott Apr 15 '15 at 17:24
  • Can I run the DirectShow project on Virtual windows machine? – GMAC Oct 22 '21 at 08:45
  • @GauravGupta Generally yes, but some coponents might require real audio device or video display compatible with Direct3D 9, so virtual machine should either have this or you are limited with DirectShow parts free from this requirement. – Roman R. Oct 22 '21 at 12:35