#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 different versions of MSVCR80.dll in the same directory as the generated executable (via cmake ), but none of them matched.
Is there a general solution to this problem?
UPDATE
Some answers recommend installing VS-redist, but I'm not sure if this will affect my installed Visual Studio 9, can anyone confirm?
Executable manifest file
<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>
The manifest file seems to say that it should use MSVCR90 , why does it always report the absence of MSVCR80.dll ?
Foound
After spending several hours on this, I found that this was caused by this setting in PATH:
D:\MATLAB\R2007b\bin\win32
After removal, everything works fine. But why does this option affect my executable executable using msvcr90 on msvcr80 ???
Gtker source share