Ubuntu'da graphics.h dosyasını nasıl kullanabilirim?


19

graphics.hKütüphaneyi destekleyen herhangi bir Linux tabanlı derleyici var mı? Grafik programları uygulamak istiyorum, bu yüzden lütfen böyle bir yazılım olup olmadığını bana bildirin.

Değilse nasıl kullanabilirim?


Tam olarak bilmeniz gerekenler nelerdir? Kaynak dosyanızda doğru .. umm ... işitenleri koyarsanız derleyicilerin tüm başlıkları bulması gerekir.
Braiam

@Braiam Derleyici, eklediğiniz için sihirli bir başlık dosyası bulamaz. Öncelikle, dosyanın sisteminize yüklenmesi gerektiği açıktır (genellikle başlık dosyaları *-devLinux dağıtımlarında paketlerle gelir ) - derleyici dosyayı sizin için indirmez. İkinci olarak, bu başlık dosyasının ya derleyicinin arayacağı standart bir konumda olması gerekir (örneğin /usr/include) ya -Ida komut satırında ( gccveya için g++) bu konumun belirtilmesi gerekir . Ek olarak genellikle bağlantı aşaması için çalışma zamanı kütüphanelerine ihtiyacınız vardır (yalnızca başlık kütüphaneleri hariç) ...
Malte Skoruppa

@MalteSkoruppa iyi, ama kullanmak için neye ihtiyacınız var? Başlıklarına koy, değil mi?
14:14

@Braiam Err ... ne soruyorsun? OP'nin sorusu sadece şudur: Ubuntu'daki kütüphaneyi kullanabilmek için ne yapmam gerekir graphic.h? Tamamen açık. Uygun bir cevap hangi paketlerin gerekli olduğunu ve bunların nasıl kurulacağını (mevcut yanıtın yaptığı gibi) ve derleme zamanında komut satırında hangi parametrelerin gerekli olduğunu açıklar.
Malte Skoruppa

@MalteSkoruppa bedeni okuyor musun?
Braiam

Yanıtlar:


31

Ubuntu kullanarak grafik programlama yapmak için birkaç seçenek vardır.

SDL'yi kullanma

graphics.hUbuntu platformunda kullanmak istiyorsanız derlemeniz ve yüklemeniz gerekir libgraph. SDL kullanarak Linux üzerinde turbo c grafik API uygulamasıdır.

Üretim kalitesi uygulaması için çok güçlü ve uygun değildir, ancak öğrenme amacıyla basit ve kullanımı kolaydır.

Buradan indirebilirsiniz .

  1. İlk olarak Evren deposunu ekleyin (bazı gerekli paketler ana depoda bulunmadığından):

    sudo add-apt-repository universe
    sudo apt-get update
  2. İkinci kurulum temel ve bazı ek paketler:

    • 18.04 öncesi sürümler:

      sudo apt-get install libsdl-image1.2 libsdl-image1.2-dev guile-1.8 \
      guile-1.8-dev libsdl1.2debian libart-2.0-dev libaudiofile-dev \
      libesd0-dev libdirectfb-dev libdirectfb-extra libfreetype6-dev \
      libxext-dev x11proto-xext-dev libfreetype6 libaa1 libaa1-dev \
      libslang2-dev libasound2 libasound2-dev build-essential
    • 18.04 için : Ubuntu'dan 18.04 guile-2.0çalışır ve libesd0-devkullanımdan kaldırılmıştır. Bunun için xenialiçinde depolar eklemeniz gerekir sources.list.

      sudo nano /etc/apt/sources.list

      Bu satırları ekleyin:

      deb http://us.archive.ubuntu.com/ubuntu/ xenial main universe
      deb-src http://us.archive.ubuntu.com/ubuntu/ xenial main universe

      Koş sudo apt-get update. Ardından paketleri kullanarak şunları yükleyin:

      sudo apt-get install libsdl-image1.2 libsdl-image1.2-dev guile-2.0 \
      guile-2.0-dev libsdl1.2debian libart-2.0-dev libaudiofile-dev \
      libesd0-dev libdirectfb-dev libdirectfb-extra libfreetype6-dev \
      libxext-dev x11proto-xext-dev libfreetype6 libaa1 libaa1-dev \
      libslang2-dev libasound2 libasound2-dev
  3. Şimdi indirilen libgraph-1.0.2.tar.gzdosyayı çıkarın .

  4. Ayıklanan klasöre gidin ve aşağıdaki komutu çalıştırın:

    ./configure
    make
    sudo make install
    sudo cp /usr/local/lib/libgraph.* /usr/lib
  5. Şimdi #include<graphics.h>Ubuntu ve programınızda aşağıdaki satırı kullanabilirsiniz :

    int gd=DETECT,gm; 
    initgraph(&gd,&gm,NULL);

İşte örnek bir program graphics.h:

/*  demo.c */
#include <graphics.h>

int main()
{
   int gd = DETECT,gm,left=100,top=100,right=200,bottom=200,x= 300,y=150,radius=50;
   initgraph(&gd,&gm,NULL);
   rectangle(left, top, right, bottom);
   circle(x, y, radius);
   bar(left + 300, top, right + 300, bottom);
   line(left - 10, top + 150, left + 410, top + 150);
   ellipse(x, y + 200, 0, 360, 100, 50);
   outtextxy(left + 100, top + 325, "C Graphics Program");

   delay(5000);
   closegraph();
   return 0;
}
  • Derlemek için kullanın

    gcc demo.c -o demo -lgraph
  • Türü çalıştırmak için

    ./demo

Demo Çıktısı 1

OpenGL kullanma (GLUT aracılığıyla)

OpenGL temel olarak 3D programlama için yapılmış olsa da, 2D şekiller çizmek OpenGL için temel anahatları ve girişleri verir ve OpenGL'de nesneleri çizmeye nasıl başlayacağınız hakkında fikir verir.

  • GLUT'u kurmak için terminali açın ve yazın sudo apt-get install freeglut3-dev.
  • İşte GLUT kullanan basit bir grafik programı
/*  demo.c */
#include <GL/gl.h>
#include <GL/glut.h>
#include <GL/glu.h>

void setup() {   glClearColor(1.0f, 1.0f, 1.0f, 1.0f); }

void display()
   {
      glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
      glColor3f(0.0f, 0.0f, 0.0f);
      glRectf(-0.75f,0.75f, 0.75f, -0.75f);
      glutSwapBuffers();
   }

int main(int argc, char *argv[])
  {
     glutInit(&argc, argv);
     glutInitDisplayMode(GLUT_RGB | GLUT_DEPTH | GLUT_DOUBLE);
     glutInitWindowSize(800,600);
     glutCreateWindow("Hello World");

     setup();
     glutDisplayFunc(display);
     glutMainLoop();
     return 0;
  }
  • Kullanarak derleyin

    gcc demo.c -o demo -lglut -lGL

  • Kullanarak çalıştırın

    ./demo

Demo Çıktısı 2


1
SDL kullanıyorum, ama dediğim gibi her şeyi yaptım, libgram da intall, ancak program çalıştırıldıktan sonra, durur ve kuyruk işleme sırasında bilinmeyen sıra numarası ile aniden biter
Luzan Baral

hangi Ubuntu sürümünü kullanıyorsunuz?
14:57

Ubuntu kullanıyorum 14.04
Luzan Baral

@LuzanBaral, GTK ile ilgili bir sorun gibi görünüyor, ancak yine de programı çalıştırabilirsiniz.
g_p

1
SDL kullanarak libgraph yüklerken karşılaşılan hatalar için askubuntu.com/a/995265/719469 ve askubuntu.com/a/717262/719469 adresine başvurun (bunu kişisel deneyime göre söyleyerek çok zaman kazandıracak: P)
Kewal Shah

2

Ubuntu veya başka bir linux dağıtımında graphics.h kullanmak istiyorsanız libxbgi'yi tercih ederim. Grafiklerden beklediğiniz hemen hemen her şeyi yapabilir. H Windows için. Buradan indirebilirsiniz: http://libxbgi.sourceforge.net/

Aksi takdirde, bazı üst düzey grafikler yapmak istiyorsanız, SDL (çoğunlukla video oyunları programlamak için) ve OpenGL (3D grafikler için) için oradasınız. İkisinin bir karışımını da kullanabilirsiniz. Bir örnek oyun briquolo (yazım yanlış olabilir).

MUTLU GRAFİK PROGRAMLAMA !!

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.