dxtrans.h missing ...



    Sorry to ask about the old problem (missing dxtrans.h  in DirectX when compling ISampleGrabber apps) but I was not able to employ the suggested solution. When I tried to change qedit.h it would not let me save it (i tried changing the permissions of ProgramFiles directory etc).  Please, please help...


    I am  new to Directshow and am running into all sorts of problems etc.


    Thank you so much,



    Piyush Goel

    Wednesday, May 28, 2008 9:43 PM

All replies

  • This article tells you how to work around the issue: dxtrans.h missing in Microsoft DirectX SDK.  Is the problem that you can’t write to \Program Files?  If you can’t save your file in the \Program Files directory you can save a copy of qedit.h to your \Documents folder, and make the necessary changes to the file while it’s there.  Delete qedit.h in your \Include folder, then copy and paste the edited version of qedit.h from \Documents to \Include.




    ||Karin Meier||Windows SDK PM||Build Environment.Samples.Community||||


    Friday, May 30, 2008 4:44 AM
  • Hi Karen:


    Thanks for the reply. I have checked the article and I am not sure if I am doing the right thing. My problem is similar to the problem mentioned by the last developer in that thread.


    I am able to change qedit.h along with other defines mentioned in that thread but these changes are not working for me. It complains that qedit.h needs dxtrans.h to compile.


    Also, there  seems to be multiple solutions suggested by different people in that arcticle you mentioned.  Which one is right for my enviroment - Visual Studio 8.0 standard, DirectX SDK (August 2007 built), Windows SDK v6.0A.


    If you could please suggest a systematic approach, I would appreciate it very much.


    I have already paid about  $100.00 to MS for the resolution of this problem with no luck so far and am getting a bit frustrated-  so any resolution will be greatly appreciated.


    Thanks again,


    Piyush Goel

    Saturday, May 31, 2008 1:31 AM
  • There are two ways to handle this:


    1. Use the Windows SDK (any recent version), plus an older version of DirectX SDK to get dxtrans.h.


    2. Modify qedit to remove dependencies on dxtrans.h. You don't need any of the dxtrans stuff to use ISampleGrabber.


    To start with, what's the exact error message that you get when you compile?


    The reason I ask is that qedit.h contains a pragma message:


    "To compile qedit.h you must install the DirectX 9 SDK, to obtain the dxtrans.h header."


    This message is not actually a compiler error, which has confused more than one person (myself included!)



    Mike Wasson, SDK Documentation
    This posting is provided "AS IS" with no warranties, and confers no rights. You assume all risk for your use.

    (c) 2008 Microsoft Corporation. All rights reserved.

    Monday, June 2, 2008 8:30 PM
  • The #pragma statement that prints that message was at the end of my version of Qedit.h and was not reached before the #include "dxtrans.h" caused an error and ended the compilation. I had to move that #pragma up before the #include so that it actually did what was intended. Was what I did necessary (i.e. should the pragma message have been executed when it was at the end of the Qedit.h file)? I am using a version of the Windows SDK that was downloaded in June 2008.


    I also already have the June 2008 version of the DirectX SDK installed and would rather not have to uninstall that and install an older version just to get the dxtrans.h file. Is there a reason why no-one is simply posting the file dxtrans.h to the forum for download? I'd much rather just download a single .h file than the whole 468.8 MB DirectX SDK from August 2007.


    My thanks in advance for any insights.



    Wednesday, July 23, 2008 6:22 PM
  • The #pragma just prints that warning message to the compiler output, it doesn't do anything else.


    If I recall, dxtrans.h includes a bunch of other headers, which also aren't in the Windows SDK.


    - Mike

    Friday, July 25, 2008 5:37 PM