C++ launch program does not exist hatası

  • Konuyu başlatan Konuyu başlatan Ertuğrul_Nova
  • Başlangıç Tarihi Başlangıç Tarihi
  • Mesaj Mesaj 5
  • Görüntüleme Görüntüleme 123
  • Etiketler Etiketler
    c++

Ertuğrul_Nova

Çalışkan
Katılım
12 Aralık 2024
Mesajlar
14
Beğeniler
2
SS'deki hatayı alıyorum.



Yapay zekaya sordum da çözemedim onunla. Kaynak dosyalar ve main dosya üçü de cpp türünde ve aynı yerde saklılar.
 
Son düzenleyen: Moderatör:
1-) .cpp kaynak dosyalarini neden include ediyorsun? Derleme zamaninda derleyiciye verecegin parametrelerle beraber derlemen lazim o dosyalari, icindeki fonksiyonlari da prototipleyip ayri bir header dosyasina alman lazim. En azindan oylesi cok daha saglikli yolu.
2-) Derleme zamaninda hata yasiyorsun ki calistirilabilir .exe dosyasi ortaya cikmiyor, veya direkt olarak derlemeden calistirmaya calisiyorsun. Bunu cozmen lazim veya ayri bir konu acarsan yardimci olalim.
3-) Programlama dilinden bagimsiz olarak, Turkce ve Ingilizce degisken adlari bir arada bulunmamali. Kod kalitesini kotu etkiliyor. Hele Turkce degisken adlari koyup Ingilizce yorum yazman hic guzel bir durum degil. Birinden birini secmelisin veya Ingilizce ve Turkce icin farkli yorum satirlari yazmalisin.
 
1-) çünkü projedenemece.cpp dosyasında sınıflar var üye fonskiyonların tanımı var. canvas.cpp'yi bizim dersin hocası hazırladı. nedne bu şekilde kullandım çünkü proje tanımı pdfinde hocamız örneği böyle verdiği için ben de böyle yaptım. o da cpp dosyalarını include edip hazırlamıştı. header dosyasına nasıl alacağımı anlayamadım yapay zeka buna benzer bir şey dedi yapamadım.
2-) derleyici var SS ini atacam derlemeden direkt çalıştırmıyorum. run kısmından debugging yapıyorum orada C/C++ gcc.exe build and debugactive file seçiyorum ve hatayı veriyor.
3-) bu ss deki dosya hocanın örneği olduğu için ben kendi sınıf isimlerimi fosnkiyonları entegre ettim satırlardaki açıklamalar benim değil onları silecem zaten bir çalışşa program.
 
@TerabyteForever 'ın da dediği gibi .cpp kaynak dosyalarını include etmemelisin. Basitçe özetlemek gerekirse:

- Fonksiyon, struct, class vb. gibi herhangi bir şeyin tanımı yani "definition"ı header (.h / .hpp) dosyalarında yer almalı. Bu header dosyalarını kaynak koduna (.cpp dosyalarına) include ederek içerde tanımladığın şeylere erişebilirsin.

- Header dosyalarında yer alan fonksiyonların, structların vb. kaynak kodları yani "implementation"ları .c / .cpp dosyalarında yer almalı. Include ettiğin header dosyalarındaki tanımlar otomatik olarak compiler tarafından kaynak kodlarıyla eşleşip derleniyor.

- VS Code'un build sistemi malesef çok iyi değil. Senin kendin manuel olarak tasklar ve kurallar oluşturman gerekiyor ama bunlarla uğraşmak gerçekten çok kafa yoruyor. Bunun yerine dosyaları kendin derleyebilirsin. Örnek vermem gerekirse:

Dizinde main.cpp, class1.cpp, class2.cpp, class1.h olsun. Senin ana dosyan main.cpp ve çıktı olarak main.exe almak istiyorsun.

g++ main.cpp class1.cpp class2.cpp -o main.exe komutu ile kodunu derleyebilirsin. main.exe ile çalıştırabilirsin. Tavsiyem, koda girişmeden önce compiler, build systems gibi kavramların ne olduğun daha iyi anlaman. Youtube'da birçok kaynak mevcut. Özellikle C / C++ gibi karmaşık bir dil ile uğraşmadan önce bunlara hakim olunması gerekiyor.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…