Missing file "d3d8.h", where the heck is it?

If you are a new Irrlicht Engine user, and have a newbie-question, this is the forum for you. You may also post general programming questions here.
CuteAlien
Admin
Posts: 9843
Joined: Mon Mar 06, 2006 2:25 pm
Location: Tübingen, Germany
Contact:

Post by CuteAlien »

64-bit ... OK, that might be part of the problem.
I don't have much experience with 64-bit systems, but 32-bit computers won't be able to run a application (or dll) which is compiled for 64-bit. I hope others can help you out there.

The DirectX dll's should be part of the DirectX runtime libraries and you usually don't care much about those. You don't install them with your application or into your applicaiton folder. Instead DirectX has to be installed by the user (you can deliver the installer for the runtime libraries together with you application, but I think the license does explicitly forbid you to install it in any other way except using the official installer).

Also do not don't blame us for Microsoft no longer releasing updated DirectX 8 and DirectX 9 versions. And Irrlicht only supports those so far (DirectX 10 and later work rather different, but if you look around the forum you will find people working on Irrlicht drivers for those).

You still have not mentioned any compile-errors you get when you try to re-build Irrlicht. The resulting dll of a 64-bit build should be in bin\Win64-VisualStudio on success (and otherwise you should get errors on compiling). Those dll's do not come with official irrlicht, as mentioned in the readme in that folder.
IRC: #irrlicht on irc.libera.chat
Code snippet repository: https://github.com/mzeilfelder/irr-playground-micha
Free racer made with Irrlicht: http://www.irrgheist.com/hcraftsource.htm
serengeor
Posts: 1712
Joined: Tue Jan 13, 2009 7:34 pm
Location: Lithuania

Post by serengeor »

I know that even when it compiled on 2010 it threw an error or warning that some paths are wrong or something similar, did you get this kind of message in the build log? you could copy and paste it here.
Working on game: Marrbles (Currently stopped).
Sylence
Posts: 725
Joined: Sat Mar 03, 2007 9:01 pm
Location: Germany
Contact:

Post by Sylence »

Yes 2010 complains about that some folders don't make sense (iirc the linker's output file is not the same as the project's one or something like this)

Have your looked in irrlicht/source/irrlicht/debug ?
Software documentation is like sex. If it's good you want more. If it's bad it's better than nothing.
serengeor
Posts: 1712
Joined: Tue Jan 13, 2009 7:34 pm
Location: Lithuania

Post by serengeor »

Yea sylence now you remembered me that the dll was somewhere else, you could just use windows search function to find the dll, if it really compiled :wink:
Working on game: Marrbles (Currently stopped).
TomTim
Posts: 72
Joined: Mon Aug 16, 2010 5:32 pm
Location: NRW, Germany

Post by TomTim »

CuteAlien wrote:64-bit ... OK, that might be part of the problem.
I don't have much experience with 64-bit systems, but 32-bit computers won't be able to run a application (or dll) which is compiled for 64-bit. I hope others can help you out there.
The Engine isn't ready for a 64-Bit compilation, is it? So if my processor and my OS are both 64 Bit, then I'll have to use the 32 Bit versions, just to get compatibility, right? And since there is not 64 Bit version of the Engine, there won't be a change in that system ...

I got through this page. It says at the end of it that 64 Bit supportment is implemented since version 0.12.0 (correct me, if I got it wrong, but the current version is 1.7.1), but untested. So it might be worth to try it, don't you think so?
CuteAlien wrote:The DirectX dll's should be part of the DirectX runtime libraries and you usually don't care much about those. You don't install them with your application or into your applicaiton folder. Instead DirectX has to be installed by the user (you can deliver the installer for the runtime libraries together with you application, but I think the license does explicitly forbid you to install it in any other way except using the official installer).
Fine to know that not everything sticks on the programmer, for a little rest the developer of all those projects are responsible.
CuteAlien wrote:Also do not don't blame us for Microsoft no longer releasing updated DirectX 8 and DirectX 9 versions. And Irrlicht only supports those so far (DirectX 10 and later work rather different, but if you look around the forum you will find people working on Irrlicht drivers for those).
I didn't blame you at all, I just wonder why you have send me a 2 year old SDK ... if you say there no newer version, I'll have to appreciate your help though.
CuteAlien wrote:You still have not mentioned any compile-errors you get when you try to re-build Irrlicht. The resulting dll of a 64-bit build should be in bin\Win64-VisualStudio on success (and otherwise you should get errors on compiling). Those dll's do not come with official irrlicht, as mentioned in the readme in that folder.
I didn't mention them because there were no errors (in traditional meaning that errors disable the compiler's compiling). But if you mean errors as "errors and warnings", then I might got something for you. Unfourtunaly, its german (who wonders), but I'll try to translate it from the original:

[german]TargetPath(E:\User\irrlicht-1.7.1\source\Irrlicht\obj\Release\Irrlicht.dll) entspricht nicht dem OutputFile-Eigenschaftswert (E:\User\irrlicht-1.7.1\bin\Win32-visualstudio\Irrlicht.dll) von Linker. Das Projekt wird daher möglicherweise nicht ordnungsgemäß erstellt. Damit dieses Problem behoben werden kann, müssen die Eigenschaftswerte für $(OutDir), $(TargetName) und $(TargetExt) dem in %(Link.OutputFile) angegebenen Wert entsprechen.[/german]

[translation]The TargetPath (E:\User\irrlicht-1.7.1\source\Irrlicht\obj\Release\Irrlicht.dll) doesn't fit to the OutputFile attitude (E:\User\irrlicht-1.7.1\bin\Win32-visualstudio\Irrlicht.dll) of the linker. The project might not be created correctly. To solve the porblem, change the attitudes of $(OutDir), $(TargetName) and $(TargetExt) in relation of the in %(Link.OutputFile) declared attitude.[/translation]

I hope that was not in vain ...
serengeor wrote:I know that even when it compiled on 2010 it threw an error or warning that some paths are wrong or something similar, did you get this kind of message in the build log? you could copy and paste it here.
Already done ...
serengeor wrote:Yea sylence now you remembered me that the dll was somewhere else, you could just use windows search function to find the dll, if it really compiled :wink:
I can't, for I don't know if it's the "common" Irrlicht.DLL or "my" Irrlicht.DLL ...
serengeor
Posts: 1712
Joined: Tue Jan 13, 2009 7:34 pm
Location: Lithuania

Post by serengeor »

Code: Select all

I can't, for I don't know if it's the "common" Irrlicht.DLL or "my" Irrlicht.DLL ...
By saying common you mean the one that came with the SDK ?
There's a way to find it out, Just look at the size of original Irrlicht.dll and the size of the one it finds.
Original Dll's should be in the bin folder so if it finds it somewhere else it's yours, if its in a Bin folder just look at the file modification date and you'll know if its the one you compiled or not.
Working on game: Marrbles (Currently stopped).
TomTim
Posts: 72
Joined: Mon Aug 16, 2010 5:32 pm
Location: NRW, Germany

Post by TomTim »

serengeor wrote:By saying common you mean the one that came with the SDK ?
There's a way to find it out, Just look at the size of original Irrlicht.dll and the size of the one it finds.
Original Dll's should be in the bin folder so if it finds it somewhere else it's yours, if its in a Bin folder just look at the file modification date and you'll know if its the one you compiled or not.
By saying common I excatly mean the one that came with the SDK ... sorry if it's a bad idiom.

However, I'll try it out. Thanks for all your help.
Sylence
Posts: 725
Joined: Sat Mar 03, 2007 9:01 pm
Location: Germany
Contact:

Post by Sylence »

First look in E:\User\irrlicht-1.7.1\source\Irrlicht\obj\Release or in E:\User\irrlicht-1.7.1\source\Irrlicht\obj\Debug for the debug build.
Software documentation is like sex. If it's good you want more. If it's bad it's better than nothing.
TomTim
Posts: 72
Joined: Mon Aug 16, 2010 5:32 pm
Location: NRW, Germany

Post by TomTim »

Sylence wrote:First look in E:\User\irrlicht-1.7.1\source\Irrlicht\obj\Release or in E:\User\irrlicht-1.7.1\source\Irrlicht\obj\Debug for the debug build.
I did. In the first one were just lots of OBJs (seemingly for each *.cpp file one *.obj file), in the second just some TLOGs, LOGs and one MANIFEST.

Oh, and that advice with let-windows-search-for-you didn't work at all, I got just 3 valid entries:

1. Irrlicht.DLL (2.01 MB, changed on 26.08.2010 this morning, in E:\User\irrlicht-1.7.1\bin\Win32-VisualStudio, apparently my one, although it's the smallest).
2. Irrlicht.DLL (6.46 MB, changed on 14.02.2010 noon, in E:\User\Irrlicht-1.7.1\bin\Win32-gcc, obviously crap, I don't use gcc and never touched this file).
3. Irrlicht.DLL (2.48 MB, changed on 14.02.2010 noon, however from a old project of mine. I am sure this is the original DLL that I got from the Irrlicht-SDK. And assuming that MY DLL shall be bigger/equally sized than the OFFICAL DLL, my file is missing something important).

I assume that number one is my DLL, but it's smaller than the offical one. :?:
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Post by hybrid »

MAybe you have disabled things in IrrCompileConfig, or the new compiler is really much better than the old one. Niko is usually using MSVC 2003 for the official releases.
TomTim
Posts: 72
Joined: Mon Aug 16, 2010 5:32 pm
Location: NRW, Germany

Post by TomTim »

hybrid wrote:MAybe you have disabled things in IrrCompileConfig, or the new compiler is really much better than the old one. Niko is usually using MSVC 2003 for the official releases.
Ich wünscht, ich wär tot ... Image

So you wanna say me that maybe everythings fine and I just got normal paranoia? Because I think I know what's the problem: I have copied the include files of the DirectX SDK in my compiler, but not the LIBs ... is the Linker able to find them though?
serengeor
Posts: 1712
Joined: Tue Jan 13, 2009 7:34 pm
Location: Lithuania

Post by serengeor »

If you link them in compiler it will surely find them :wink:
PS. why did you copy them, can't you just set the paths for the compiler to look at?
Working on game: Marrbles (Currently stopped).
TomTim
Posts: 72
Joined: Mon Aug 16, 2010 5:32 pm
Location: NRW, Germany

Post by TomTim »

OK, I have try it out. SEEMINGLY, it works. But I won't trust the compiler to much. I have just used some GUI functions, but I won't trust that 3D will work with that.

However, thank you all so much for all your help. :)
serengeor
Posts: 1712
Joined: Tue Jan 13, 2009 7:34 pm
Location: Lithuania

Post by serengeor »

Recompile any example that uses 3D stuff from the SDK and you'll see if it really works :wink:
Working on game: Marrbles (Currently stopped).
Post Reply