2014-07-13 6 views
16

Ho creato .exe utilizzando VS2013 e l'ho aggiunto direttamente al pannello di controllo dando il percorso del registro. L'ho costruito per x64. Si avvia perfettamente bene per Win8.1x64. Ma quando lo lancio su Win7x64 dà l'errore MSVCP120.dll. Se copio dll funziona. Ma le DLL sono collegate direttamente a .exe? Se non come li allego?.exe dà errore MSVCP120.dll mancante per Win7x64

risposta

27

L'errore indica semplicemente che il MSVC ridistribuibile per VS2013 non è presente nel computer Windows 7. Windows 7 non ha questa DLL di default.

Tuttavia, si prega di non copiare DLL intorno a willy-nilly. È necessario assicurarsi che il redistributable sia installato come parte del proprio programma di installazione o separatamente dall'utente. Ad esempio, è possibile fare in modo che l'installatore rilevi l'esistenza o meno della ridistribuibile e avvisare l'utente di installarlo. Puoi includerlo con il tuo pacchetto di installazione, che è permesso.

Si noti che esistono 2 versioni ridistribuibili, per x86 e x64. Devi fornire il (i) giusto (i) per la tua applicazione. È possibile utilizzare this link per scaricare i pacchetti ridistribuibili di Visual C++ per Visual Studio 2013.

+0

Sì, ho x64 ma sto cercando di capire come aggiungerli all'applicazione tramite Visual Studio 2013 – user2661518

+0

È possibile collegare dinamicamente alla DLL, che richiede che il redistributable sia installato sul computer di installazione, oppure è possibile collegalo staticamente al tuo eseguibile. Il collegamento statico aumenterà le dimensioni del tuo eseguibile, ma vorrà dire che non ti baserai sul ridistribuibile installato prima che il tuo programma possa essere eseguito. Cosa fare e come sta a te. – djikay

+0

Penso che il collegamento statico sia la migliore opzione ... devo semplicemente aggiungere .dll nel linker? – user2661518

21

Anche se si utilizza x64, è necessario installare anche la versione x86 di MSVC ridistribuibile.

Ho avuto questo problema anch'io. Ho scoperto che anche dopo aver installato la versione x64 di MSVC ridistribuibile, il file msvcp120.dll mancava nella directory SysWOW64. Il problema è stato risolto dopo aver installato anche la versione x86.

+1

Per me questo era un problema. Grazie! –

+1

Questo risolve il mio problema. – evilom

+1

Installare entrambi ha fatto il trucco anche per me! –