How does PATH environment affect my running executable from using msvcr90 to msvcr80 ???

Posted by Runner on Stack Overflow See other posts from Stack Overflow or by Runner
Published on 2010-04-26T11:11:16Z Indexed on 2010/04/27 12:33 UTC
Read the original article Hit count: 268

Filed under:
|
|
|
#include <gtk/gtk.h>

int main( int argc, char *argv[] )
{
    GtkWidget *window;

    gtk_init (&argc, &argv);

    window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
    gtk_widget_show  (window);

    gtk_main ();

    return 0;
}

I tried putting various versions of MSVCR80.dll under the same directory as the generated executable(via cmake),but none matched.

Is there a general solution for this kinda problem?

UPDATE

Some answers recommend install the VS redist,but I'm not sure whether or not it will affect my installed Visual Studio 9, can someone confirm?

Manifest file of the executable

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel level="asInvoker" uiAccess="false"></requestedExecutionLevel>
      </requestedPrivileges>
    </security>
  </trustInfo>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity type="win32" name="Microsoft.VC90.DebugCRT" version="9.0.21022.8" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
    </dependentAssembly>
  </dependency>
</assembly>

It seems the manifest file says it should use the MSVCR90, why it always reporting missing MSVCR80.dll?

FOUND

After spending several hours on it,finally I found it's caused by this setting in PATH:

D:\MATLAB\R2007b\bin\win32

After removing it all works fine.But why can that setting affect my running executable from using msvcr90 to msvcr80 ???

© Stack Overflow or respective owner

Related posts about cmake

Related posts about dll