Ho appena sviluppato il mio primo programma in C++ e volevo mostrarlo a uno dei miei amici. Purtroppo, quando tenta di aprire l'exe, viene visualizzato un errore che indica "Manca MSVCP140.dll". Perché questo problema si verifica e come può/lo risolvere?MSVCP140.dll mancante
risposta
Se prendete i vostri amici scaricare la DLL runtime (@ risposta di Kay), o compilare l'applicazione con il collegamento statico.
In Visual Studio, passare a Project tab -> properties - > configuration properties -> C/C++ -> Code Generation
nella libreria di runtime scegliere /MTd
per la modalità di debug e /MT
per la modalità di rilascio.
In questo modo il compilatore incorporerà il runtime nell'app. L'eseguibile sarà notevolmente più grande, ma funzionerà senza bisogno di dll di runtime.
Questa è probabilmente la libreria di runtime C++. Poiché si tratta di una DLL, non è inclusa nell'eseguibile del programma. Il tuo amico può scaricare quelle librerie da Microsoft.
Siamo spiacenti, -1. Una risposta sulla falsariga di * "Questo probabilmente è ciò che è sbagliato, e il tuo amico può in qualche modo risolvere questo" * non è una risposta. Inoltre, il CRT non è solo una DLL. – IInspectable
PC del tuo amico manca le DLL di supporto di runtime per il programma:
Questa è una delle cose che le applicazioni devono affrontare come parte della loro implementazione/installazione, poiché non tutto ciò che l'applicazione utilizza è incorporato nel sistema operativo. Vedere [Distribuzione di applicazioni desktop native (Visual C++)] (https://msdn.microsoft.com/en-us/library/zebw5zk9.aspx). Si noti che se la propria applicazione era un'applicazione Windows Store, lo Store si occupa di distribuire il CRT Visual C++ per conto dell'utente. –
Ricevo lo stesso errore sul mio PC, anche se ho installato Visual Studio 2015 completo. Il programma di installazione ridistribuibile si chiude, affermando che una versione più recente è già installata. qualche idea? – matth
Che di solito significa che il tuo amico non ha il ridistribuibile Microsoft per Visual C++. Naturalmente sto assumendo che tu stia usando VC++ e non MingW o un altro compilatore. Dal momento che il tuo amico non ha installato VS, non c'è alcuna garanzia che abbia installato il redistore.
- 1. Mancante mingwm10.dll
- 2. DLL mancante durante l'esecuzione come script
- 3. Migliorare la dll mancante messaggio di errore
- 4. OpenCV - DLL mancante, ma non lo è?
- 5. DLL mancante all'avvio dell'applicazione Qt GUI
- 6. .exe dà errore MSVCP120.dll mancante per Win7x64
- 7. Py2exe si lamenta della dll mancante quando li ho?
- 8. Programma di installazione ufficiale Python mancante python27.dll
- 9. Azure Service Fabric mancante DLL sul server di produzione: FabricCommon.dll
- 10. mancante DotNetOpenAuth.ApplicationBlock in OpenID + OAuth
- 11. Come scoprire quale DLL mancante sta causando l'arresto anomalo dell'applicazione .NET all'avvio?
- 12. py2exe non riesce a creare EXE a causa della DLL mancante quando viene importato opencv
- 13. Posso rilevare un errore di dll mancante durante il caricamento dell'applicazione in C#?
- 14. Dizionario mancante mancante su AutoCompleteTextView/MultiAutoCompleteTextView
- 15. Design pattern come lingua mancante (mancante)
- 16. Visual Studio 2012 - File mancante "tracker.exe" mancante
- 17. Solr 4 - campo mancante mancante: uuid
- 18. mspdb140.dll manca dal computer
- 19. commit "mancante"
- 20. Jythonc mancante
- 21. annotations.jar mancante
- 22. webrat_steps.rb mancante
- 23. Mancante makecert.exe
- 24. layoutopt mancante
- 25. UIImagePickerControllerReferenceURL mancante
- 26. ASP.NET_SessionId mancante
- 27. PropertyExpression mancante
- 28. System.Windows.Freezable mancante
- 29. Incorporare dylib in dll Xamarin.Mac dll
- 30. Riferimento a una DLL da un'altra DLL
Potreste forse aggiungere numeri quanto è grande un "ciao world.exe" con collegamenti dinamici e statici? – kay
@Kay Il collegamento statico in genere include solo ciò che è necessario, non tutto nella libreria. L'aumento delle dimensioni dell'eseguibile sarà basato sulla quantità di runtime C utilizzata. – Andy
In realtà, non è necessario eseguire il collegamento alla versione di debug del runtime, tranne che si desidera eseguire il debug della libreria di runtime. – user1810087