Why dont my exe's run on other computers?

I compiled a fractal program (by building a release version), and my exe will only run on my computer (of two others I've tried on).

The windows error upon opening the exe: "This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem."

What is the problem?

Cheers,
Tom
Did you google search the error message yet? One of the solutions at the following link will probably fix you up.

http://social.msdn.microsoft.com/Forums/en-US/vcgeneral/thread/36971526-95f3-4a9f-a601-1843c86332c1
You can modify project settings in VC++ IDE:
Project > Properties > Configuration Properties > C/C++ > Code Generation > RunTime Library > Multy threaded (/MT)
you must to compile your program to an especific platform. If you wanna a program at Linux environments so you use a compiler to this platform, and so on.


cheers

--
Airton Arantes
Sorry for the late response, and thanks for replying.

kempo: Yah I saw that, but i thought it was ridiculous that I have to add files for my exe to run. I have lots of programs I got off the net that are just a stand alone exe file... thats what I'd like to figure out.

Bazzy: Could you please breifly describe what that particular setting does?

airtonarantes: I would be greatful if I could just compile nicely in windows. Im using VS 2008


Cheers,
Tom
It makes the compiler linking to a static library at compile time instead of a dynamic library at run time (default setting). Linking to the dynamic one, makes your program needing that DLL to be installed in the computer your program will run.
Well I'm getting a more coherent error now. It says I'm missing cxcore which is one of the libraries to openCV (intel's open source image processing library).

Does that mean I have to install other files?

Cheers,
Tom
If that is a dynamic library (DLL on Windows) you should, if it is a static library (LIB) it should be already linked in your executable file
im also having this problem, i went to multi threaded /MT and i rebuilt my project, will it be built in the same place as the last .exe?

and my .exe go to

C:\Users\[MY NAME HERE]\Documents\Visual Studio 2005\Projects\C++\big brother\debug\big brother.exe

is that where the exe should be located after build?

p.s. big brother is the name of the program and project.
Last edited on
It will be in the same place as the other build was, different build options won't affect the file position (unless you change the output directory)
It sounds like a problem with manifests for the C and C++ runtime. You'll need to install the redistibutable runtime system that comes the Visual Studio.

Manifests are an unnecessary royal pain in C/C++ but were introduced for C# support.
Honestly, I'm don't understand the latest responses.
cxcore is part of OpenCV. That is where I'm getting my error (I'm using a function from openCV for this software).

How can I determine what it is I have to install on other computers for this to work?
Is it possible to just make an executable with no external dependencies for other computers?

Tom
It's unlikely that OpenCV will be installed on another computer. You'd have to search for one of its DLLs to confirm whether it's there or not.
So you're saying that I need to copy the DLL that has the function that I'm using in it. That makes sense. Do I just copy the DLL into the same location as the EXE or do I actually have to go through some install procedure?

Cheers,
Tom
If it's not built using manifests, you can just drop the DLL in the same directory as the EXE.
Well then... that's good that it's not using manifests. Mostly because I don't know what that is, and I really didn't want to stretch this topic out that far :)
Adding the DLL files to the location of the EXE works.

Thank you, everyone, for your help!

Cheers,
Tom
Topic archived. No new replies allowed.