XNA Creators Club Online
Page 1 of 1 (7 items)
Sort Posts: Previous Next

Target older DirectX

Last post 1/15/2009 8:23 PM by Zeta Two. 6 replies.
  • 1/14/2009 3:34 PM

    Target older DirectX

    Hello! I'm writing a game in unmanaged DirectX. I really would like it to work in school but when I try to run it there i get the following error: "The file d3dx9_40.dll is missing". This also happens when some of my friends try to play it. The thing is that I know that the computers have DirectX 9 installed, therefore I assume that they don't have the absolutely latest version. Is there any way to change some setting in the code or when I compile to make it work for older versions of DirectX 9? I'm not using any fancy functions at all. Thanks in advance
  • 1/14/2009 4:55 PM In reply to

    Re: Target older DirectX

    The only way to make your application not require a specific version of the d3dx9_*.dll is to not use any D3DX functions. You will need to have your users update their DirectX via the web install link (or through Windows Update).
  • 1/14/2009 5:17 PM In reply to

    Re: Target older DirectX

    Yes I understand that but is there any way to make the program do with an older version, for example d3dx9_30.dll instead of d3dx9_40.dll?
  • 1/14/2009 5:19 PM In reply to

    Re: Target older DirectX

    Recompile against _30

    The app uses whatever you compiled with. If you think there is a better chance of the other one beign there then go for it but the only ways to solve this are 1. Write an installer 2. Make everyone run the web updater. 3 Don't use D3DX and only use the version of DirectX that you know for sure ships with the OS of your target machine.

    Its an age old issue "I have DirectX 9 installed" means "I have the core DX9 files". Several parts of DirectX (d3dx, XACT, XInput for example) *can* get updated faster and its the developers job to ensure they are on the machine becuase consumers don't (and shouldn't have to) understand the difference.
    Play Kissy Poo - a game for 4 year olds on Xbox and windows
    The ZBuffer
    News and information for XNA
      Follow The Zman on twitter, Email me
        Please read the forum FAQs - Bug/Feature reporting
          Don't forget to mark good answers and good playtest feedback when you see it!!!
  • 1/15/2009 2:19 PM In reply to

    Re: Target older DirectX

    I understand that the best way would to use an installer but since I really would like this to work at school (and they don't allow installers and such) I will have to recompile against an older version. Now I just want to ask, in VS2008, how do I specify which version to use? currently I'm using: #pragma comment (lib, "d3d9.lib") #pragma comment (lib, "d3dx9.lib") and they do not specify any version. Will I have to reinstall an older version of the SDK? Is that even possible?
  • 1/15/2009 3:13 PM In reply to

    Re: Target older DirectX

    Yes each SDK goes into a different directory and you point the linker to the directory you need.
    Play Kissy Poo - a game for 4 year olds on Xbox and windows
    The ZBuffer
    News and information for XNA
      Follow The Zman on twitter, Email me
        Please read the forum FAQs - Bug/Feature reporting
          Don't forget to mark good answers and good playtest feedback when you see it!!!
  • 1/15/2009 8:23 PM In reply to

    Re: Target older DirectX

    I installed the summer 2004 release (first 9.0c release) and it all works now. I didn't even have to uninstall the current version, just remove the directories in VS2008. Thanks a lot for the help!
Page 1 of 1 (7 items) Previous Next