2014-07-13 21 views
16

VS2013 kullanarak .exe yarattım ve kayıt defterini vererek doğrudan kontrol paneline ekledim. X64 için yaptım. Win8.1x64 için mükemmel bir şekilde piyasaya sürüldü. Ancak Win7x64'te başlattığımda MSVCP120.dll hatası veriyor. Ben dll çalışırsa çalışır. Ama dll'ler doğrudan .exe'e bağlı mı? Değilse nasıl eklerim?.exe hata veriyor MSVCP120.dll Win7x64 için eksik

cevap

27

Hatanız, yalnızca VS2013 için yeniden dağıtılabilir MSVC'nin Windows 7 bilgisayarında eksik olduğu anlamına gelir. Windows 7 varsayılan olarak bu DLL'ye sahip değil. Ancak, lütfen willy-nilly'nin etrafındaki DLL dosyalarını kopyalamayın. Yeniden dağıtılabilenin, yükleyicinizin bir parçası olarak veya kullanıcı tarafından ayrı ayrı yüklendiğinden emin olmanız gerekir. Örneğin, yükleyicinizin yeniden dağıtılabilenin varlığını algılamasını veya bulunmamasını ve kullanıcıyı yüklemesi için uyarmasını sağlayabilirsiniz. İzin verilen yükleme paketinize dahil edebilirsiniz.

x86 ve x64 için yeniden dağıtılabilir 2 sürümün olduğunu unutmayın. Başvurunuz için doğru olanı sağlamanız gerekiyor. Visual Studio 2013 için Visual C++ yeniden dağıtılabilir paketlerini karşıdan yüklemek için this link kullanabilirsiniz.

+0

Evet, x64 var ama Visual Studio 2013 – user2661518

+0

aracılığıyla bunları uygulamaya nasıl ekleyeceğimi anlamaya çalışıyorum Dinamik olarak, yeniden dağıtılabilir yükleme bilgisayarında yüklü olan DLL için bağlantı olabilir veya yapabilirsiniz Statik olarak onu yürütülebilir dosyanıza bağlayın. Statik bağlantı, yürütülebilir dosyanızın boyutunu artıracak, ancak programınızın çalışabilmesi için yeniden dağıtılabilir olana güvenmediğiniz anlamına gelecektir. Ne yapmak ve nasıl size kalmış. – djikay

+0

Statik bağlantıyı en iyi seçenek sanırım ... linker dosyasında sadece .dll dosyası ekledim mi? – user2661518

21

x64 kullanıyor olsanız bile, MSVC yeniden dağıtılabilir x86 sürümünü de yüklemeniz gerekir.

Bu problemi kendim de yaptım. MSVC yeniden dağıtılabilir x64 sürümünü yükledikten sonra bile, SysWOW64 dizininde msvcp120.dll dosyasının eksik olduğunu buldum. X86 sürümünü de yükledikten sonra sorun çözüldü.

+1

Benim için bu bir sorun oldu. Teşekkürler! –

+1

Bu, sorunumu çözüyor. – evilom

+1

Her ikisini de yüklemek benim için de hile yaptı! –

İlgili konular