The computer that gets that error is missing one or more DLLs that are needed by the program. Make sure the program has been compiled for release mode instead of debug mode.
Ancient Dragon
Retired & Loving It
30,049 posts since Aug 2005
Reputation Points: 5,662
Solved Threads: 2,343
>>How do you do that in VC++ 08?
On my computer which has the default installation, just under the Help menu at the top is a combo box that you can set to either Debug or Release. Make sure its set to Release when you compile the program.
>> Does that solve the DLL problem
Not necessarily. There may be other DLLs that are not installed on the other computer
>>or is that still the fault of the computer
No -- its your fault for failing to install the proper DLLs.
>>Does that mean that the computer is missing the DirectX SDK?
Not the SDK but there are probably some redistributable DLLs. Look in the Microsoft DirectX SDK folder under Program Files and find a folder Developer Runtime. Those might be the DLLs you need to install with your program. Just copy them into the same folder where you installed your program.
Ancient Dragon
Retired & Loving It
30,049 posts since Aug 2005
Reputation Points: 5,662
Solved Threads: 2,343
Um, what exactly does compiling it as release change
The release version of your program requires a different set of .dlls to be present on the target system.
What linker errors are you receiving?
mitrmkar
Posting Virtuoso
1,809 posts since Nov 2007
Reputation Points: 1,105
Solved Threads: 395
>>Um, what exactly does compiling it as release change
I don't know exactly, but the debug version doubles the size of the executable because of all the stuff the compiler adds to make debugging easier, such as symbol names and line numbers and padding of data objects to make them bigger than you specified. The final release version of the program strips all that stuff out as well as optimizes code by changing some of it to make it run faster.
You have to tell the compiler the names of the DirectX *.lib files it is to use to link the program -- debug and release must be set up individually. When you set up the debug version you must have selected menu Project --> Properties --> Configuration Properties --> Linker --> Input then on the right side "Additional Dependencies" and listed the DirectX libraries there. You need to do the same thing for the release version. See the "Configuration" dropdown at the top of the left-hand pain.
Ancient Dragon
Retired & Loving It
30,049 posts since Aug 2005
Reputation Points: 5,662
Solved Threads: 2,343
Same reason as before -- your friend's computer does not have the required DLLs.
Ancient Dragon
Retired & Loving It
30,049 posts since Aug 2005
Reputation Points: 5,662
Solved Threads: 2,343
Allright, now it compiles, but I asked my friend to run it and now he gets this message:
applicatin failed to start because its side by side configuration is incorrect. please see the application event log for more detail
What does that mean?
I'm not sure, but the event viewer (eventvwr.exe) Application log may contain more detailed information about the error (i.e. even the name(s) of the missing file(s), if any). So you may want to look into there.
It may be that installing the VS 2005 runtime components onto the offending machine solves this problem. These components are available at http://www.microsoft.com/downloads/details.aspx?familyid=32bc1bee-a3f9-4c13-9c99-220b62a191ee&displaylang=en
mitrmkar
Posting Virtuoso
1,809 posts since Nov 2007
Reputation Points: 1,105
Solved Threads: 395