Feragatname: Bu bir çözüm , cevabınıza bir çözüm değil , yine de çok uygulanabilir bir olasılık.
VS'nin kendisinden hiçbir bağımlılık olmadığından kesinlikle emin olmak istiyorsanız - ancak kendi dezavantajları ile birlikte gelir - kod oluşturma ayarlarında, Çok Dişli (MT) / Çok Dişli Hata Ayıklama (MD) (hata ayıklama yapıları için) ile gitmeyi seçebilirsiniz. ) MT DLL (MTd) / MT Hata Ayıklama DLL (MDd) yerine.
Sakıncaları nelerdir?
- Yürütülebilir boyutunuzu ve ikili dosyalarınızı artırır (bir oyun yapıyorsanız bu muhtemelen ihmal edilebilir)
- Bu şekilde derlenmiş çalışma zamanı dlls güncelleştirmeler yararlanamaz. (örneğin, Microsoft VC ++ 2015 SP2, SP3, SP4 vb. yayınlarsa). Bu size kalmış.
- Mevcut / yüklü kodu (DLL'ler) yeniden kullanmadığınız için daha fazla RAM kullanımı (ihmal edilebilir)
- Bağladığınız tüm kitaplıkların aynı çalışma zamanına karşı derlendiğinden emin olmanız gerekir, başka bağlantı başarısız olabilir veya ilginç çalışma zamanı hataları oluşabilir (muhtemelen değil, ancak güncellenmiş eski bir projede ömür boyu bir kez başıma geldi en yeni VS)
Ve profesyonelleri neler?
- yürütülebilir dosya VS'nin kendisinden "harici" bağımlılıklara sahip olmaz (msvc * .dll gereksinimi yoktur).
- Bazı insanlar bunu bir performans artışı olarak görür çünkü DLL çağrısı yükünü ortadan kaldırırsınız, bu teorik olarak doğru olsa da, gelişmeler pratikte ihmal edilebilir
Daha ayrıntılı bir açıklama ve statik bir çalışma zamanı kullanırken karşılaşabileceğiniz çukur ve düşüşler için bu bağlantıyı kontrol edin .
Başka bir geçici çözüm , gerekli tüm DLL'leri ikili dosya koymak olacaktır. Uygulamanız güncellemelerden (çalışma zamanı kitaplıklarına) faydalanmayacak, ancak hepsi bu.
Gerçek çözüm, uygulamayı yayınlama / hata ayıklama yapmayan dll modunda (MTd) dağıtmak ve doğru VC ++ yeniden dağıtılabilir yükleyicisini (ve örneğin OpenAL, DirectX9, PhysX) kullanabileceğiniz diğer kütüphane yükleyicilerini sağlamak ve kullanıcının bunu çalıştırmasına izin vermektir. başvurunuzu çalıştırmadan önce (diğer cevapların işaret ettiği gibi).
Ayrıca kullanıcıya GPU sürücülerini muhtemelen güncellemesi gerektiğini bildirdiğinizden emin olun (bunlar birçok uygulama için birden fazla çalışma zamanı içerir, örneğin OpenGL, Vulcan).