Dxtrans.h missing with JUCE_USE_CAMERA set


#1
1>------ Build started: Project: juce_application, Configuration: Debug Win32 ------
1>Compiling...
1>juce_LibrarySource.cpp
1>c:\program files\microsoft sdks\windows\v6.0a\include\qedit.h(498) : fatal error C1083: Cannot open include file: 'dxtrans.h': No such file or directory
1>Build log was saved at "file://c:\devel\edoapp\Tools\DirectoryContents\Debug\BuildLog.htm"
1>juce_application - 1 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

the file is not found. i searched on google and found that this is a known problem with the DX SDK
http://www.riseoftheants.com/mmx/faq.htm#mjpegsample

i’m using VS2008 sp1, do i need the latest DX SDK to get this working ?


#2

No - if you look at the code where dshow.h gets included, I added a comment explaining what to do to make it work.


#3

i missed that, i’m sorry. thank you. dumb m$ mistake, one of many.


#4

Thanks, that helped me too.


#5

Hi,

bumped into the same issue, and followed the thread pointed to at line 133 in juce_win32_NativeIncludes.h.
Instead of editing the qedit.h file, I applied the other solution mentioned in that thread: create a simple dxtrans.h file with the following content:

/* Fixes issue with Windows SDK */ #define __IDxtCompositor_INTERFACE_DEFINED__ #define __IDxtAlphaSetter_INTERFACE_DEFINED__ #define __IDxtJpeg_INTERFACE_DEFINED__ #define __IDxtKey_INTERFACE_DEFINED__and make sure it is on your include path.
This seems to work fine and doesn’t involve editing MS files…
The only thing that’s left is a #pragma message that says: “To compile qedit.h you must install the DirectX 9 SDK, to obtain the dxtrans.h header.”

So, a question and a suggestion:

  1. Can we safely discard that message? Or is it really needed to install the SDK?
  2. Maybe that simple dxtrans.h file can be included somewhere in the JUCE tree so that people don’t get that error?

#6

Good trick!

I’m pretty sure the SDK isn’t needed, all that the juce stuff needs are the interface definitions of a few basic objects.

Not sure about adding a file to the source tree, but I’ll certainly add this as a handy tip in the comments. Thanks!


#7

Again sorry for bothering you experts. I am quite new to this. But how do we put the .h file in the include path? I mean which directory should I place the .h file?

Thanks
Amit

[quote=“jules”]Good trick!

I’m pretty sure the SDK isn’t needed, all that the juce stuff needs are the interface definitions of a few basic objects.

Not sure about adding a file to the source tree, but I’ll certainly add this as a handy tip in the comments. Thanks![/quote]


#8

The folder \juce\src\native\windows would be a good place.
Or you keep it in one of your own directories if you want to keep the juce folders/files 100% intact.


#9

Thanks Koen.

Amit


#10

hi jules, i can’t seem to find the file that includes dshow.h. Can u please help me out. Thankx


#11

Yes, I can help you out by pointing out that MSVC has a very handy “find in files” feature that you should learn to use!


#12

hi jules , just tried and i ddnt get any results.

Find all "dshow.h", Subfolders, Find Results 1, "Entire Solution"
  Matching lines: 0    Matching files: 0    Total files searched: 43

I am currently in the Juce Demo project.


#13

Then you’re not looking in the right directory. I can assure you it’s in there somewhere!

Why would you want to find the include anyway?


#14

[quote=“jules”]Then you’re not looking in the right directory. I can assure you it’s in there somewhere!

Why would you want to find the include anyway?[/quote]

this is the error i get

Error 1 fatal error C1083: Cannot open include file: 'dxtrans.h': No such file or directory c:\program files\microsoft sdks\windows\v6.0a\include\qedit.h 498 Juce Demo
and earlier on you said

Basically i cant get the Juce Demo to work. Am i doing something wrong.


#15

[quote=“soundfever”]and earlier on you said

jules wrote:No - if you look at the code where dshow.h gets included, I added a comment explaining what to do to make it work.[/quote]

Try reading that comment!