Thread overview
SDL2 derleyememe sorunu
May 25, 2020
cos00kun
Aug 30, 2020
erdem
May 25, 2020

Ali hocam haydi SFMLD yi geçtim ama ben bu SDL 2 yide derleyemedim .. Acaba burda nerede hata yapıyorum ?
https://github.com/xyproto/sdl2-examples/tree/master/d

dub dosyasını çalıştırdığım zaman şöyle bir hata mesajı aldım;

'Performing "debug" build using /usr/bin/dmd for x86_64.
derelict-util 2.0.6: target for configuration "library" is up to date.
derelict-sdl2 2.1.4: target for configuration "library" is up to date.
main ~master: target for configuration "application" is up to date.
To force a rebuild of up-to-date targets, run again with --force.
Running ./main
derelict.util.exception.SharedLibLoadException@../../../.dub/packages/derelict-util-2.0.6/derelict-util/source/derelict/util/exception.d(35): Failed to load one or more shared libraries:
libSDL2_image.so - libSDL2_image.so: cannot open shared object file: No such file or directory
libSDL2_image-2.0.so - libSDL2_image-2.0.so: cannot open shared object file: No such file or directory
libSDL2_image-2.0.so.0 - libSDL2_image-2.0.so.0: cannot open shared object file: No such file or directory
/usr/local/lib/libSDL2_image.so - /usr/local/lib/libSDL2_image.so: cannot open shared object file: No such file or directory
/usr/local/lib/libSDL2_image-2.0.so - /usr/local/lib/libSDL2_image-2.0.so: cannot open shared object file: No such file or directory
/usr/local/lib/libSDL2_image-2.0.so.0 - /usr/local/lib/libSDL2_image-2.0.so.0: cannot open shared object file: No such file or directory

./../../.dub/packages/derelict-util-2.0.6/derelict-util/source/derelict/util/exception.d:66 void derelict.util.exception.SharedLibLoadException.throwNew(immutable(char)[][], immutable(char)[][]) [0x55eb6290ff35]
./../../.dub/packages/derelict-util-2.0.6/derelict-util/source/derelict/util/sharedlib.d:155 void derelict.util.sharedlib.SharedLib.load(immutable(char)[][]) [0x55eb6290f986]
./../../.dub/packages/derelict-util-2.0.6/derelict-util/source/derelict/util/loader.d:197 void derelict.util.loader.SharedLibLoader.load(immutable(char)[][]) [0x55eb6290da2f]
./../../.dub/packages/derelict-util-2.0.6/derelict-util/source/derelict/util/loader.d:143 void derelict.util.loader.SharedLibLoader.load(immutable(char)[]) [0x55eb6290d9b4]
./../../.dub/packages/derelict-util-2.0.6/derelict-util/source/derelict/util/loader.d:82 void derelict.util.loader.SharedLibLoader.load() [0x55eb6290d897]
source/app.d:11 _Dmain [0x55eb628fb60b]
Program exited with code 1'

şimdi bu soruyu altlık kabul ederek başka bir soru daha sorayım; dub dışında kütüphaneleri kurmanın başka bir yolu yokmudur ? yani direk olarak git den bunları indirip programımıza dahil edemiyor muyuz ? ben bu dub dan bırakın sevmeyi nefret etmeye başladım :-D

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

May 25, 2020

D, C kütüphanelerle doğrudan bağlanıyor ama başlık dosyası yerine modül kullandığından ilinti (binding) dosyaları gerekiyor. D'nin ilintileri tek başlarına işe yaramıyorlar, kurulu olan kütüphaneyi kullanmaya yarıyorlar.

Sanırım burada eksik olan şu: sdl2 sisteme kurulmamış. Şöyle olabilir:
'
sudo apt-get install libsdl2-dev
'
Tabii ki dub şart değil; git'ten alınıp Makefile veya başka bir yöntem de kullanılabilir.

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

August 30, 2020

Aradan uzun zaman geçmiş ve bu konuya ilgimi kaybettim.

Ama gene de ufak bir değişiklik yaptım ve önceden yazdığımız SDL ilintileri çalıştı. Bunlar SDL 1.2 sürümü için.

SDL geliştirme kütüphanelerini kuralım.

'$ sudo apt-get install libsdl1.2-dev libsdl-image1.2-dev'

Bir dizine kaynak kodu çoğaltıyoruz.

'$ git clone https://bitbucket.org/erdemoncel/oyun.git'

Dizinin içine girelim.

'$ cd oyun/'

Kaynak kodu derleyelim.

'$ make'

Çalıştırılabilir dosyalar bin dizininde oluşuyor.

'$ cd bin/
$ ./oyun'

80'lerden kalma oyun arayüzümüz geldi :-)

https://programlama.tk/static/resim/oyun.png

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]