To use qedit.h, which is the main header for DirectShow, you need to remove a missing header called dxtrans.h which Microsoft does not ship with the Windows SDK neither various versions of the DirectX SDK. This patch is necessary for all build-in or externally installed SDKs for Visual Studio 2005 and later.

You do not need this patch with Visual Studio 2003 .NET and we have not yet confirmed if the Windows 7 SDK, which requires Visual Studio 2008, are shipping with fixed headers. The CMake process will inform you in the status box if it could compile successfully a miniature DirectShow application

<File:ARToolKit> CMake small.jpg

1) you need to find the include directory of your Windows SDK

2) comment out dxtrans.h

3) You do not need the DirectX SDK - there are only a few interrelationships between DirectShow and DirectX. If you want to compile your own code against this header you need to add some forward declarations everytime you include qedit.h. The code should resemble something like this, the order is important. You do not need to apply this step with ARToolKit 2.74.x or osgART 2.0

#include <atlbase.h>
#include <dshow.h>

#define __IDxtCompositor_INTERFACE_DEFINED__
#define __IDxtAlphaSetter_INTERFACE_DEFINED__
#define __IDxtJpeg_INTERFACE_DEFINED__
#define __IDxtKey_INTERFACE_DEFINED__

#include <qedit.h>

Category:Beginner Tutorials