Visual Studio Code sfml bin dosyasının Path'e eklenmesine rağmen gelen sfml hatası nasıl giderilir?

berkaysahinler1

Femtopat
Katılım
23 Şubat 2025
Mesajlar
9
Daha fazla  
Cinsiyet
Erkek
1742754139591.png


1742754263919.png


Arkadaşlar resimde de gördüğünüz gibi sfml bin dosyasını Path'e yüklememe rağmen 1. resimdeki gibi hala aynı hatayı alıyorum. Yardımcı olur musunuz?
 

Dosya Ekleri

  • 1742754598801.png
    1742754598801.png
    30 KB · Görüntüleme: 26
Son düzenleyen: Moderatör:
C++:
#include "./SFML/Graphics.hpp"

Böyle deneyin.
 
VSCode'u ve ilgili bütün programları kapatıp tekrar açın. Ayrıca arayüzdeki hatalardan ziyade programın derlenip derlenmediğine bakın.
 
VSCode'u ve ilgili bütün programları kapatıp tekrar açın. Ayrıca arayüzdeki hatalardan ziyade programın derlenip derlenmediğine bakın.
./ oldugu klasorde aramasina sebep olur.

Bin klasorunu de dahil etmek yeterli degil. bin/ binarylerin oldugu yerdir, Windows'un durumunda DLL'lerin oldugu yer. Headerlar olmaz. API erisimi icin headerlara ihtiyacin var. include/ klasorunde yer aliyor. Ancak derlerken, headerlar tek basina yetmeyecek, linker fonksiyon tanimi isteyecek senden, onlarsa library olarak lib/ klasorunde yer aliyor. Programi calistirirken bin/ klasorundekiler lazim olacak.

g++ -std=c++20 -IC:/SFML/include -LC:/SFML/lib main.cpp -o main.exe -lsfml-graphics -lsfml-window -lsfml-system -lopengl32 -lfreetype -lwinmm -lgdi32 normalde bu komut derlemek icin yeterli olmasi lazim (SFML'in direkt C'de oldugunu varsaydigimizda. Kendi sistemindeki yerine gore ayarlarsin. C++ 17 ustuyle calisiyor yeni surumler.)

Ancak bu VSCode'un headerlari gorecegi anlamina gelmiyor. VSCode'un headerlari gorebilmesi icin VS Code'u duzenlemen lazim. Eger clangd kullaniyorsan compile_commands.json olusturabilirsin projenin ana klasorunde. Normal C++ eklentisiyle nasil yapiliyor bilmiyorum.
ScreenRecording2025-03-24at1.18.00AM-ezgif.com-video-to-gif-converter.gif


Ornekte gorebilecegin uzere ben .dll dosyalarini calistirilabilir ile ayni klasore yerlestirdim. Auto completion da hata vermiyor sol altta problems'te hic bir sey demediginden anlayabilecegin uzere. Gif'e donustururken compression nedeniyle bazi satirlarin alti kirmizi olmus ama degil normalde;
1742764929857.png
 
Dediklerinizi uyguladım. Şimdi de farklı bir hata vermeye başladı:
1742773752478.png

Ayrıca dll dosyalarından açınca daha kötü oluyor:
1742775533197.png
 
Son düzenleme:
C:\SFML klasorunde yer aliyor degil mi SFML'in dosyalari? bin'e ihtiyacin yok include icin olarak. Lib'e de derleme sirasinda ihtiyacin var. Bi yanlis anlasilma var sanirim;

Atiyorum projen C:\Users\Berkay\Documents\sfml-demo\ klasorunde. SFML'in source dosyalari ise;
C:\SFML\include ve C:\SFML\lib icinde.

Senin ihtiyacin olan includePath'ler bu ikisi + kullandigin compilerin standart librarysi. Kullandigin uzantiyi dogru mu konfigure ettin bilmiyorum cunku kullandigin bi eklenti degil. Fakat dogru duruyor.

Bin icerisinde ki DLL'leri text.exe'nin oldugu yere veya System32'ye kopyalaman gerekiyor.

Statik olarak linklenmemis programlarda (SFML'i statik de linkleyebilirsin), program ihtiyac duydugu function definitionlari DLL'lerde arayacak. DLL'ler icin once oldugu klasore bakar, sonra System32'yi inceler. Eger program 32 bitse SysWOW64'u inceler.

Eger statik ve dinamik link nedir bilmiyorsan arastirman lazim ne olduklarini. Bu noktada onda da bir eksiklik var gibi duruyor.

Ilk attigin gorselde de versiyon problemi var gibi. C++20 dene bakalim ayni klasorde config olarak.
 

Technopat Haberler

Yeni konular

Geri
Yukarı