views:

410

answers:

2

I recently developed a Visual C++ console application which uses inline SSE2 instructions. It works fine on my computer, but when I tried it on another, it returns the following error:

The system cannot execute the specified program

Note that the program worked on the other computer before introducing the SSE2 code.

Any suggestions?

PS: It works when I compile the code on the other computer and run it. I think it has something to do with the manifest from what I've scrounged off the net.

A: 

Most likely the use of the SSE2 instructions is requiring a DLL which isn't present on the second system.

Here's a blog entry on how to figure out exactly which one: How to Debug 'The System cannot Execute the specified program' message

Aaron
I don't think it requires a DLL - I already tried the Dependency Walker.
Jacob
@Jacob - Did you look in the event log to see if there's a message about the failure?
Aaron
The event log of the Walker?
Jacob
@Jacob - I think Aaron means the Windows event log:http://support.microsoft.com/kb/308427
Adhemar
A: 

If you've built a debug version , a Release build might work on the other machine.

If not, you need to figure out which Microsoft Visual C++ Redistributable your program requires and install it on the other machine.

nos
It was the release version - I installed the redistributable with one of the codes I saw in the manifest - perhaps, I should look for the redist with the other - thanks!
Jacob