Thread overview
DSFML parçalanma arızası hatası
Feb 03, 2016
erdem
Feb 19, 2016
erdem
February 03, 2016
module main;

import dsfml.graphics;

void main(string[] args)
{
   auto window = new RenderWindow(VideoMode(800,600),"Hello DSFML!");

   auto head = new CircleShape(100);
   head.fillColor = Color.Green;
   head.position = Vector2f(300,100);

   auto leftEye = new CircleShape(10);
   leftEye.fillColor = Color.Blue;
   leftEye.position = Vector2f(350,150);

   auto rightEye = new CircleShape(10);
   rightEye.fillColor = Color.Blue;
   rightEye.position = Vector2f(430,150);

   auto smile = new CircleShape(30);
   smile.fillColor = Color.Red;
   smile.position = Vector2f(368,200);

   auto smileCover = new RectangleShape(Vector2f(60,30));
   smileCover.fillColor = Color.Green;
   smileCover.position = Vector2f(368,200);

   while (window.isOpen())
   {
       Event event;

       while(window.pollEvent(event))
       {
           if(event.type == event.EventType.Closed)
           {
               window.close();
           }
       }

       window.clear();

       window.draw(head);
       window.draw(leftEye);
       window.draw(rightEye);
       window.draw(smile);
       window.draw(smileCover);

       window.display();
   }
}

DSFML kütüphanesi (https://github.com/Jebbs/DSFML) kullanan şu basit örneği derliyorum.

Derleme seçenekleri şöyle:

'$ dmd deneme.d -IDSFML/src -L-LDSFMLC/lib -L-LDSFML/lib -L-ldsfml-graphics -L-ldsfml-window -L-ldsfml-system -L-ldsfmlc-graphics -L-ldsfmlc-window -L-ldsfmlc-system -ofdeneme'

Programı çalıştırır çalıştırmaz bir parçalama arızası ("segmentation fault") hatası veriyor.

'$ ./deneme
Parçalama arızası (çekirdek döküldü)'

'$ strace -f dmd -run deneme.d' çıktısı biraz uzun da olsa şu şekilde:
[code]
execve("/usr/bin/dmd", ["dmd", "-run", "deneme.d"],

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

February 03, 2016

Bulunamayan kütüphanenin parçalanma arızası vereceğini sanmam. Ama eğer kütüphaneyle ilgiliyse, parçalanma arızası uygun olmayan kütüphane kullanıldığında oluşur. Yanlış kütüphane sürümü, 32 bit yerine 64 bit, vs.

Kusura bakma, DSFML'i de hiç denemedim... :-/

Ali

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

February 19, 2016

Şimdi çalıştı :)

http://www.programlama.tk/resim/resim/dsfml.png

Derlerken de şu seçenekler kullanılıyor.

'$ dmd -g -debug -ofdeneme deneme.d -IDSFML/src -L-LDSFMLC/lib -L-LDSFML/lib -L-ldsfml-graphics -L-ldsfml-window -L-ldsfml-system -L-ldsfmlc-graphics -L-ldsfmlc-window -L-ldsfmlc-system'

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