VS Express 2012, problem z uruchomieniem aplikacji

0

Mój system operacyjny to Windows 7 Ultimate 64 bit. Zainstalowałem na nim Visual Studio Express 2012 for Windows Desktop. Następnie utworzyłem pusty projekt i dodałem do niego plik cpp zawierający najprostszy możliwy kod, który wyświetla "hello world" w konsoli:

 
#include <iostream>
using namespace std;
void main()
{
	cout<<endl;
	cout<<"Hello World"<<endl;
        system("pause");
}

Program zbudowany w trybie Debug (Win32) z poziomu Visuala uruchamia się prawidłowo. Także przy uruchomienie pliku exe bezpośrednio z folderu Debug wszystko jest ok.

Problem pojawia się kiedy chce uruchomić program na innym komputerze. Skopiowałem folder Debug na innego Windowsa 7 64 bit, który nie ma zainstalowanego VS Express 2012 for Windows Desktop. Przy próbie uruchomienia programu z folderu Debug dostaje informację: " The program can't start because MSVCP110D.dll is missing from your computer. Try reinstalling the program to fix this problem " W związku z tym, dodałem do folderu Debug plik msvcp110d.dll pobrany z internetu jednak teraz otrzymuję kolejny komunikat: "The application was unable to start correctly (0xc000007b). Click Ok to close the application " Doszukałem się informacji, że ten komunikat może oznaczać, że aplikacja 32 bitowa próbuje załadować 64 bitowy dll. Zastanawiam się teraz, czy plik MSVCP110D.dll, który znalazłem jest zły (była tylko jedna wersja pliku, bez wzmianki x86 czy x64) czy brakuje jeszcze jakiś innych plików ?

0

Ja bym po prostu poszukal tego pliku w folderze visuala i skopiowal do folderu aplikacji.

U mnie jest w tym miejscu w wersji VS12 express na 32-bitowym systemie:
C:\Program Files\Microsoft Visual Studio 11.0\VC\redist\Debug_NonRedist\x86\Microsoft.VC110.DebugCRT

0

Skompilować aplikację w trybie Release, a na docelowym komputerze zainstalować Visual C++ Runtime w wersji 2012.
http://support.microsoft.com/kb/2019667

  albo

Skompilować aplikację w trybie Release, zmieniwszy w opcjach projektu runtime z DLL na statyczne.

1

Uruchomienie w trybie release bez zainstalowania Visual C++ Runtime też nie działa. Trzeba zrobić tak jak napisał Azarien, wtedy wszystko działa jak należy. Wielkie dzięki za pomoc i wskazówki ! Domyślnie Visual tworzy aplikacje 32 bitowe (nie ważne jaki mamy system 32bit czy 64 bit), więc na systemie docelowym gdzie chcemy uruchomić nasza aplikację 32 bitową instalujemy Visual C++ Runtime x86 (32 bit).

1 użytkowników online, w tym zalogowanych: 0, gości: 1