DirectX SDK version vs. Visual Studio version
Installation configuration is a headache for people who have just come into contact with DirectShow, and often occurs when the most basic baseclass cannot be compiled.
At first I also took a lot of effort, such as modifying the code, modifying the compilation options to make it compile. Because the version of Visual Studio is different from the version of DirectShow, there are a variety of issues. The online reference is also not a letter, often spending a lot of time and energy, the program is still not compiled through, and lost learning DirectShow interest and confidence.
I have tried the configuration DirectShow in Visual Stdio 6.0,2003,2005,2008, which basically can be compiled without the need to modify the code. The experience is to choose a different version of DirectShow to match with the version of Visual Studio. In general, choose a DirectShow version that is released slightly later than Visual Studio of the same period. (I think Microsoft should at least test the new release of the DirectShow SDK in the current mainstream compilation environment, so this match is generally easy to compile at once.) )
Visual C + + 6.0
Lu Qiming Teacher's "DirectShow Development Guide" is a good book, the use of the environment is VC 6.0. According to my theory, almost all DirectShow versions can be easily installed on VC 6, because it is too old. However, if it is not possible to install the latest SDK, because of the compiler problem of VC 6, the standard support is not very good, so that the latest SDK can not compile.
Lu's book is actually used in the version of Dx9sdk.exe (2002.12.19), I give the official Microsoft link (they have all the version is retained), need genuine verification to download (should not be a problem ...) )。
I recommend using the DirectX SDK Summer version 2004, which is the last version of the DirectX SDK that integrates DirectShow.
Microsoft then separated DirectShow, such as the need to install the DirectX SDK April 2005 and the DirectX SDK February 2005 Extras. That is, DirectX does not contain DirectShow, and this time (2005) It is included in the Extras. So the installation of Extras basically can be DirectShow developed.
Visual Studio 2003
This version is recommended to install the Summer 2004 version. Extras is no problem.
Visual Studio 2005
This version I do not use a lot, the impression of installing Summer 2004 no problem, even lower 9.0b is no problem. Install a very new version will appear I said that too ahead of the compiler can not be a phenomenon.
In about 2006, DirectShow was included in the Windows Platform SDK. I do not know how the latest Platform SDK for VS2005 support, I did not try. There was a previous version that needed to modify some code to compile.
Visual Studio 2008
Very simple, install the latest version of the DirectX SDK June 2008 and Platform SDK (2006.03.15). In addition, subsequent versions of the Platform SDK appear to be called Windows SDKs, and the included Media Foundation appears to replace DirectShow. (Windows SDK for Windows Server, and. NET Framework 3.5 2008.02.05)
Configure the Environment
If the version of DirectShow is newer than VS, the corresponding header and library files are automatically configured, or they will be added manually.
If the installation of DirectShow earlier, then in the baseclasses there will be the corresponding project files, open the compilation can be. If the Platform SDK is installed with only one makefile, notice that after installing the Platform SDK, the Start menu will have some shortcuts to the different compilation environments, choose a version to be compiled, enter NMAKE under BaseClasses, will be automatically compiled.
It is also important to note that some library references, compile links, and so on, in the event of a problem when searching for the line, generally not a big problem.
MSDN Version under VC6: The last version to support VS6 is the October 2001 edition;
DirectX Sdk:directx 9.0 Summer 2004 SDK Update,
Download page: http://www.microsoft.com/downloads/details.aspx?FamilyID=fd044a42-9912-42a3-9a9e-d857199f888e&DisplayLang=en
This version of the Direct 9 SDK is not fully supported by VC6,
Note the overview of the download page:
This download contains all the extra files that is not included in the DirectX 9.0 SDK Summer Update 2004 release such as A d3dx.lib which supports VC 6.0, older plug-ins and Japanese version of the documentation.
That is, the DirectX SDK Summer Update 2004 included in the D3dx.lib is not supported VC6, support VC6 version in the extras package.
must also be under DirectX 9.0 Summer 2004 SDK Update Extras (http://www.microsoft.com/downloads/details.aspx? familyid=736585e1-10f0-4e85-b940-828cba9971f1&displaylang=en),
Another error, such as dword_ptr or any other type undefined, is that Microsoft took BASETSD.H out of the DirectX SDK release, which is in the Platform SDK and platform in the VC include path. The include path to the SDK refers to the front.
Platform SDK, the last Platform SDK to support VC6 is February 2003 Edition,
Download: http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm
DirectX 9.0 Complete Software Development Kit (SDK): (2002-12-19) Click to download
DirectX 9.0 SDK Update-(Summer 2004) Click to download
DirectX 9.0 SDK Update-(August 2005) Click to download
DirectX 9.0 SDK Update-(February 2005) Click to download
The first version of the DirectX 9.0C SDK is the DirectX SDK Summer 2004 and the last version of the DirectShow SDK, which has not changed much since the C + + development application for DirectX 9.0C, and later versions are mostly Changes to MDX are most appropriate if you are developing a DirectShow application with C + + under VS2003. Another version of DirectX that is included in Windows XP SP2 is 9.0c, which is also a widely used version of DirectX. Windows SDK version 2004, which supports Windows XP SP2 and its previous windows but does not include the DirectX SDK.
The DirectShow SDK is then not integrated in the DirectX SDK but is published as extras. The last version of the DirectShow SDK is in the 2005.2 version of DirectX SDK Extras, after which the DirectShow SDK is integrated in the Windows SDK version 2005 of Windows SDK (support for Windows Server 2003 SP1 and its previous windows) contain
DirectShow sdk,windows SDK March 2006 (Supported by Windows Server 2003 R2 and its previous Windows) is also included.
VS2005 contains Windows SDK version 2005, but there is no DirectShow SDK, so developing DirectShow applications in VS2005 to manually install DirectX SDK Extras 2005, 2, and June 2005 after DirectX SDK, since DirectShow will call Directdraw,directsound, etc., DirectX SDK supports VS2005 from 2005.6, I use version 2005.8, after which, in the DirectX SDK, Mostly added MDX 2 beta and this MDX 2 Beta was canceled in 2006.10 and replaced by something called Xnags.
Windows SDK for Vista has been officially released, DirectShow's example is updated to the VS2005 version, and DirectShow's replacement product is Media Foundation, which will replace DirectShow Just like when DirectShow replaced Video for Windows.
DirectX SDK Download page
DirectX SDK Summer version 2004 download address
DirectX SDK Extras 2005, version 2 download address
Windows SDK version 2006.3 for Windows Server 2003 R2 download Address
The benefit of this version is that the. NET SDK does not contain a CD-R that can be carved
Windows SDK for Vista
Download Address 1
Download Address 2
Contains the. NET 3 SDK and does not have a complete DirectX SDK
XNA Developer Center
The example in version 2005.2 of DirectX SDK Extras needs to be modified to work correctly in VS2005, and to modify the list please see this article.
Http://blogs.msdn.com/mikewasson/archive/2005/05/23/some-directshow-samples-break-in-visual-studio-2005.aspx
The
has made some modifications to the Direchshow SDK in Windows SDK for Vista so that it combines well with VS2005, so the most stable configuration is VS2005 sp1+ Windows SDK for Vista +directx SDK 2007.4 though somewhat large.