Domanda

ho fatto un programma in Visual Studio 2010 su Windows 7 a 64 bit. Quando provo a farlo funzionare su Windows XP a 32 bit ho ricevuto un messaggio che msvcr100.dll manca. Quando provo a copiare il file da Win7 a WinXP ho ricevuto un messaggio che msvcr100.dll è sbagliato. Come impostare la costruzione in VS modo msvcr100.dll non sarebbe necessario?

È stato utile?

Soluzione

Per prima cosa è necessario assicurarsi che si sta costruendo un 32 bit di esecuzione -. 64 quelli bit non verrà eseguito su Windows a 32 bit

Quindi è possibile ...

  • Ridistribuibili 32 bit con l'applicazione.
  • Rimuovere la dipendenza runtime del tutto e collegare staticamente ai runtime C ++. Per fare questo, insieme a Project -> Properties -> Configuration Properties -> C/C++ -> Code Generation -> Runtime Library Multi-threaded (/MT).

Altri suggerimenti

Il collegamento delle librerie di runtime in modo statico dovrebbe aiutare. Vai a Opzioni progetto -> C / C ++ -> Code Generation -> Runtime Library e modificare il valore di multithreading o multithreading di debug e ricompilazione. In questo modo l'applicazione non dovrebbe dipendere le DLL di runtime.
Inoltre, non dimenticare di costruire un eseguibile a 32 bit.

Le risposte di cui sopra mi hanno aiutato lungo, ma ero ancora ottenere l'errore:

  

errore fatale C1189: #error: Si prega di utilizzare l'opzione / MD per _AFXDLL costruisce

Quindi, per aiutare gli altri che può avere, come me, modo passato troppo tempo inciampare in giro in cerca di una soluzione limpida, mi piacerebbe aggiungere il bit di informazione che ha risolto questo problema per me. Come si è visto, il mio progetto ha avuto il torto "Uso di MFC" impostazione di fare uso della risposta di cui sopra.

Per dirla in termini chiari:

Apri le proprietà del progetto (alt-F7 o Project del menu -> [Il mio progetto] Beni) e andare a Project -> Properties -> Configuration Properties

Se General -> Use of MFC è impostato su Use MFC in a Static Library

è necessario impostare

C/C++ -> Code Generation -> Runtime Library

a uno o Multi-threaded Debug (/MTd) Multi-threaded (/MT)

e se

General -> Use of MFC è impostato su Use MFC in a Shared DLL

è necessario impostare

C/C++ -> Code Generation -> Runtime Library

a uno o Multi-threaded DLL (/MD) Multi-threaded Debug DLL

ho avuto questa risposta dal Microsoft risposte della comunità sito e tutto il merito dovrebbe andare a David Wilkinson .

entrare descrizione dell'immagine qui

Passaggio 1 :. Vai a questo sito dll-files.com. entrare descrizione dell'immagine qui

dll-files.com è un grande archivio di file DLL di Windows e non ha quasi tutti i file DLL che sono esistenti su Windows.

Passaggio 2. Ora digitate c'è errore la DLL nella finestra di ricerca del sito.

Passaggio 3. DLL-Files.com immediatamente elencare il file zip contenente quel particolare file DLL. Scarica questo file zip sul computer e estrarlo. La cartella estratta contiene il file di errore DLL.

entrare descrizione dell'immagine qui

Passo 4. Copiare il file di download DLL (solo quel file) e incollare il file nella cartella di sistema predefinita, sulla base di sistemi operativi di seguito. C: WindowsSystem (Windows 95/98 / Me) C: WINNT \ System32 (Windows NT / 2000) C: \ Windows \ System32 (Windows XP, Vista, Windows 7 / Windows 8.1 / Windows 10)

Windows chiederà se si desidera sostituire il file DLL esistente con quello nuovo. Dicono di sì e lasciare che di Windows copiare il file. Riavviare il computer e voilà, è ora possibile eseguire il gioco / app che non si apriva e dando l'errore DLL, facilmente.

Ci sono molti altri siti che vi darà DLL file che si desidera

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top