Skip to main content
GameDev.net gamedev.net
🔒 Locked

Statically Linked

Started by Firestorm ZERO Apr 22, 2007 at 5:03 PM 2 replies 1.2k views
Original Post
Firestorm ZERO
Firestorm ZERO
Is it possible to statically link the DirectX DLLs to the executeable? Because I am using the latest SDK but my instructor is using an older version. It gives like error cannot find d3dx9_32.dll. And she wants to be able to run it without having to update. Can this be done?
_Sigma
_Sigma
I'm honestly not sure. My guess is no...

I know that doesn't really help, so I'll suggest this. As long as you are using features compatible with the older version, could you not just request the older interface (ie, DX 8) in stead of dx 9?

Just a shot in the dark...
jffortin
jffortin
Quote:
Original post by Firestorm ZERO
Is it possible to statically link the DirectX DLLs to the executeable?
[...]
Can this be done?


My understanding of the DirectX SDK license says that you can't redistribute any components that way. The only real way to update components you need is by using the provided API to install them. The DirectX SDK allows you to install components with the DirectXSetup API (see the SDK's documentation for more information about this). Also, there's a sample called "DirectX Install" in the SDK showing how to do this (I've never actually done it though).

Quote:
DXInstall is an example of how to use DirectXSetup interfaces to install the DirectX subsystem and DirectX drivers. It shows how to use a callback function to present messages and get user input through a custom interface, in this case a simple modeless dialog box.


Installing the runtime that way will allow her to run the application you compiled. But, since the problem seems to be the runtime missing a D3DX dll you could give her the source code. Then she could probably recompile and run it without updating anything (normally it should be tested to make sure everything runs perfectly).


JFF
Firestorm ZERO
Firestorm ZERO
Ok. Thanks for the info.

Yeah I sent her a make file + source code so she will be able to compile it.

BTW what is the reason MS started with additional DLLs? Like d3dx9_30, d3dx9_31, etc. with each SDK update? Why couldn't they just reuse d3dx9.dll?

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.