OpenGL, GLFW, C/C++ kullanarak bir oyun yazdım. SOIL ve irrKlang gibi üçüncü parti kütüphaneleri kullanıyorum. Microsoft Visual 2015 kullanıyorum. Hem hata ayıklama hem de yayın sürümü, görsel stüdyosunda çalışıyor. Özellikler -> C++ -> Kod Üretimi-> Çalışma Zamanı Kitaplığı Seçtiğim/MDd. Diğer ayarları denedim, ancak sürüm sürümü başka hiçbiriyle çalışmaz. Tüm .dll dosyaları sürüm ve hata ayıklama klasörlerine kaydedilir. Bununla birlikte, sürüm klasörüme gidip orada bulunan .exe'yi kopyalayıp yapıştırdığımda masaüstümde artık çalışmıyor. IrrKlang.dll eksik olduğunu belirten bir mesaj alıyorum. Birisi oyunumun bağımsız bir .exe'sini nasıl çalıştıracağımızı ve çalıştırmayı açıklayabilir mi?Masaüstümden çalıştırabildiğim visual studio 2015 ile bir .exe nasıl oluşturulur
cevap
Burada iki şey var. İlk olarak, .exe uygulamanızın giriş noktasını içeren yürütülebilir dosyadır. Yani bu gerçekten ihtiyacınız olan ilk parça. Ancak, uygulamanıza statik olarak bağlı olmayan, ancak dinamik olarak bağlı olan kodlara bağlı olarak izin verilir - dinamik olarak bağlantılı kod yalnızca çalışma zamanında yüklenir. Bu çalışma zamanı kod kitaplıkları DLL'ler ("dinamik olarak bağlantılı kitaplıklar") olarak adlandırılır.
Uygulamanız bir DLL'ye bağlıysa, çalışıyorken look for that DLL olacaktır. Bulamazsa, eksik bir DLL ile ilgili bu ileti kutusunu görürsünüz. Bu nedenle, sadece .exe dosyasını kopyalamanız gerekmiyor, fakat tüm .dlls 'e bağlı (ve bağlı oldukları). Uygulamanızın birçok varsayılan sistem DLL'sine, ör. kernel32, ancak bunların her zaman .exe'nin yanında kopyalanmasına gerek yoktur çünkü bunlar her zaman sistem arama yolunda bulunur.
Şimdi, ikinci kısım. Uygulamanızı Visual Studio'nun yüklü olmadığı bir bilgisayarda çalıştırmak istiyorsanız, bilgisayarın C/C++ çalışma zamanlarının VS2015 araç zincirinin otomatik olarak kurulan bağlantılara bağlandığından emin olmanız gerekir. Bunlar, kopyaladığınız DLL dosyaları değil; daha ziyade, tüm uygulamalar için PC üzerinde küresel olarak yükleyen bir redistributable installer var. Bunu kendi yükleyicinizle birlikte gönderebilirsiniz.
Bunun çalışması için, Release'de yalnızca /MD
ile bağlantı kurmak istiyorsunuz (hata ayıklama CRT yalnızca hata ayıklama içindir ve yalnızca Visual Studio yüklü olduğunda yüklenir; bu, bilgisayarınızın dışında çalışacak şekilde tasarlanmamıştır).
Ayrıca bunları sisteme yükleyebilir ve sık kullanılan paketler (eklemeye değer olduğunu düşündükleri) halinde sistem dizinlerine bakabilirsiniz. – cerkiewny
Yardımlarınız için teşekkür ederiz. Masaüstümde bir klasör oluşturdum ve yapıştırdım.Bu klasöre exe, ayrıca .dll dosyasını aynı klasöre yapıştırdım. Ben çalıştırdığımda, uygulama artık eksik bir dll hakkında şikayet etmiyor. Böylece bu bölüm çözüldü! Bunun yerine, şimdi başka bir hatayla karşılaşıyorum, ama bu başka bir soru ..... – LegItJoe
Bu ifade:.
"ayıklama ve görsel stüdyodan ok sürümü çalıştırmak serbest Hem özelliklerinde -> C++ - G/MDd seçilmiş> Kod çiftlerin oluşumu> Runtime Library ben diğer ayarları ancak serbest bırakılmasını çalıştım. sürüm başka hiçbiriyle çalışmaz. "
Belki de üçüncü parti kütüphanelerinizin bir sürümünün sürümüne sahip olmadığınızı düşünmeme izin verir.
/MDd, uygulamanızın MS çalışma zamanının hata ayıklama sürümünü kullanmasına neden olur; bu, projenizdeki bir şeyin veya bir hata ayıklama sürümü olarak oluşturulduğu anlamına gelir.
Yürütülebilir dosya ve DLL'lerin bağımlılıklarını görmek için 'depends.exe' uygulamasını kullanıyorum. Microsoft tarafından doğrudan sağlanıyordu, ancak şimdi üçüncü bir tarafça destekleniyor gibi görünüyor. Eski SDK'lar buna sahip olacak.
- 1. Visual Studio 2015'te yeni bir şube nasıl oluşturulur?
- 2. Visual Studio 2015 - ASP.Net uygulaması, Visual Studio
- 3. Visual Studio 2015, Typescript
- 4. nasıl çabuk Visual Studio 2015
- 5. Visual Studio 2015 Ultimate'da XAML Basic Sayfası öğesi nasıl oluşturulur?
- 6. Visual Studio 2015
- 7. Visual Studio 2015 yanıt vermiyor
- 8. SSDT Visual Studio 2015 ile çalışmadı
- 9. Visual Studio 2015.jar başvuru
- 10. Microsoft Visual Studio 2015 meşgul
- 11. özel Visual Studio Enterprise 2015
- 12. Visual Studio 2015 çözümü oluşturmadı
- 13. Visual Studio 2015, Windows 10
- 14. Visual Studio 2015 ayarları kaybediliyor
- 15. Visual Studio 2015'te WinObjC
- 16. Visual Studio 2015 için proje şablonu
- 17. Visual Studio 2015 Roslyn hatası nasıl vurgulanır?
- 18. Gulp.watch'ı Visual Studio 2015'te nasıl kullanabilirim?
- 19. Visual Studio 2015 ile C# 7 nasıl kullanılır?
- 20. Visual Studio 2015 Etiket Metin garip davranışlar
- 21. Visual Studio 2015 ile Qt 4.8.6 resmi destek olmadan nasıl oluşturulur?
- 22. Visual Studio Topluluk Sürümü 2015 nasıl karşılanır (2017 değil)
- 23. ado.net modeli gitti Visual studio 2015
- 24. Visual Studio 2015: "tsc.exe" kodu 1
- 25. Visual Studio 2015, Hatalar Listesi penceresini görüntülemiyor
- 26. Visual Studio C# sekme dinamik numarası ile bir sekme denetimi nasıl oluşturulur Visual Studio C#
- 27. Visual Studio 2015 Çok Yavaş Dosya Açılıyor?
- 28. Visual Studio 2015 Cordova Araçları - Ripple'ı Başlatma Bir hata "scriptedsandbox64.exe çalışmayı durdurdu" Görünüyor
- 29. IISExpress, Visual Studio 2015'ten başlamıyor
- 30. Visual Studio 2015 Hızlı Bul İletişim Kutusu
'ne other' herhangi çalışmak olmaz mı? PC'ler? – Cameron
Genellikle gitmenin yolu, tüm bağımlılıkları kuracak olan yükleyiciyi oluşturmak ya da onları sürücünüze aldığınızdan emin olmaktır, çünkü tüm LOT'lerini exe'ye yerleştirmek iyi bir fikir değildir. – cerkiewny