Soru MSVCP140.dll eksik


İlk programımı C ++ 'da geliştirdim ve arkadaşlarımdan biriyle göstermek istedim. Ne yazık ki, o exe açmak için çalıştığında "MSVCP140.dll eksik" diyor bir hata alır. Bu konu neden oluyor ve nasıl tamir edebilirim?


44
2017-10-07 17:37


Menşei




Cevaplar:


Ya arkadaşlarınızın çalışma zamanı DLL'sini (Kay'in yanıtı) indirmesini sağlayın veya uygulamayı statik bağlantıyla derleyin.

Görsel stüdyona git Project tab -> properties - > configuration properties -> C/C++ -> Code Generation çalışma zamanı kitaplığı seçin /MTd hata ayıklama modu ve /MT serbest bırakma modu için.

Bu, derleyicinin çalışma zamanını uygulamaya yerleştirmesine neden olur. Yürütülebilir dosya büyük ölçüde daha büyük olacaktır, ancak çalışma zamanı dll'sine gerek kalmadan çalışacaktır.


60
2017-10-07 17:48



"Merhaba world.exe" nin ne kadar büyük bir dinamik ve statik bağlantıya sahip olduğunu söyleyebilir misiniz? - kay
@Kay Statik linkleme tipik olarak sadece ihtiyaç duyulan şeyleri içerir, kütüphanedeki her şeyi değil. Yürütülebilir dosyanın boyut artışı, C çalışma zamanının ne kadarının kullanıldığına bağlı olacaktır. - Andy
Aslında, çalışma zamanı kitaplığını hata ayıklamak istediğiniz sürece çalışma zamanının hata ayıklama sürümüne bağlanmaya gerek yoktur. - user1810087
Yazılımı yeniden dağıtmayı planlıyorsanız / MTd'yi kullanarak bağlantı kurmayın. Hata ayıklama çalışma zamanı yeniden dağıtılabilir yükleyiciye dahil değildir. - Andon M. Coleman


Arkadaşınızın PC'si programınızın çalışma zamanı desteği DLL'lerini kaçırıyor:


55
2017-10-07 17:41



Bu, uygulamalarınızın işletim sistemi içinde yerleşik olduğu her şey değil, uygulamaların kurulum / kurulumun bir parçası olarak ele alması gereken şeylerden biridir. Görmek Yerel Masaüstü Uygulamalarını Dağıtma (Visual C ++). Uygulamanız bir Windows Mağazası uygulamasıysa, Mağaza'nın sizin için Visual C ++ CRT'yi dağıtmaya özen göstereceğini unutmayın. - Chuck Walbourn
Visual Studio 2015 yüklü olsa bile, aynı hatayı PC'imde alıyorum. Yeniden dağıtılabilir yükleyici, daha yeni bir sürümün zaten yüklü olduğunu söyleyerek sonlandırılıyor. Düşüncesi olan var mı? - matth
Unutmayın, vc redist'ine ait sürümü (32 ile 64 bit arası), DLL'nizin işletim sistemi değil, nasıl derlendiğine uydurarak yüklemeniz gerekir. - Timothy John Laird


Bu genellikle arkadaşınızın görsel c ++ için yeniden dağıtılabilir microsoft sahip olmadığı anlamına gelir. Elbette VC ++ kullandığınızı ve MingW ya da annother derleyicisini kullandığınızı kabul ediyorum. Arkadaşınızın VS'nin de kurulu olmaması nedeniyle, redist'in yüklü olduğu garantisi yoktur.

VC ++ Dağıtım


2
2017-10-07 17:43





Muhtemelen C ++ çalışma zamanı kitaplığıdır. Bir DLL olduğu için programınızın yürütülebilir dosyasına dahil değildir. Arkadaşınız bu kütüphaneleri Microsoft'tan indirebilir.


-2
2017-10-07 17:41



Üzgünüm, -1. Çizgileri boyunca bir cevap "Bu muhtemelen yanlış olan ve arkadaşın bunu bir şekilde çözebilir" cevap değil Artı, CRT sadece bir DLL değil. - IInspectable