আমি কীভাবে উবুন্টুতে গ্রাফিক্স.h ব্যবহার করব?


19

লিনাক্স সমর্থন করে এমন কোন লিনাক্স ভিত্তিক সংকলক আছে graphics.h? আমি গ্রাফিক প্রোগ্রামগুলি বাস্তবায়ন করতে চাই, দয়া করে দয়া করে দয়া করে আমাকে এমন কোনও সফ্টওয়্যার আছে কিনা তা আমাকে জানান।

তা না হলে আমি কীভাবে এটি ব্যবহার করতে পারি?


আপনার ঠিক কী জানা দরকার? সংকলকগণ যদি আপনার উত্স ফাইলে সঠিক .. উম্ম ... শ্রোতা রাখেন তবে সমস্ত শিরোনাম সন্ধান করার কথা।
ব্রায়াম

@ ব্রাইয়াম সংকলকটি কেবলমাত্র আপনি এটি অন্তর্ভুক্ত করার কারণে কম্পাইলারটি যাদুকরীভাবে কোনও শিরোনামের ফাইল খুঁজে পাবেন না। প্রথমত, পরিষ্কারভাবে ফাইলটি আপনার সিস্টেমে ইনস্টল করা প্রয়োজন (সাধারণত হেডার ফাইলগুলি *-devলিনাক্স ডিস্ট্রোজে প্যাকেজগুলির সাথে আসে ) - সংকলকটি এটি আপনার জন্য ডাউনলোড করবে না। দ্বিতীয়ত, সেই শিরোনাম ফাইলটি এমন কোনও মানক স্থানে থাকা দরকার যেখানে একটি সংকলক এটি অনুসন্ধান করবে (যেমন /usr/include), অথবা অন্যথায় সেই অবস্থানটি -Iকমান্ড লাইনে ( gccবা জন্য g++) সুনির্দিষ্ট করতে হবে । অতিরিক্ত হিসাবে আপনি লিঙ্কিংয়ের পর্যায়ে সাধারণত রানটাইম লাইব প্রয়োজন (কেবলমাত্র শিরোনাম ছাড়াও) ...
মাল্টে স্কোরাপ্পা

@ মাল্টসকোরাপ্পা ভাল, তবে আপনার এটি ব্যবহার করার দরকার কী? আপনার হেডারে রাখুন, না?
ব্রায়াম

@ ব্রাইয়াম এর ... আপনি কি জিজ্ঞাসা করছেন? দেখুন, ওপি-র প্রশ্নটি কেবল এটি: উবুন্টুতে লাইব্রেরিটি ব্যবহার করতে সক্ষম হওয়ার জন্য আমার কী করা দরকার graphic.h? এটা পুরোপুরি পরিষ্কার। একটি অ্যাপ্রোপিয়েট উত্তর কী কী প্যাকেজগুলির প্রয়োজন এবং কীভাবে সেগুলি ইনস্টল করবেন (বিদ্যমান উত্তরটি যেমন করে) এবং সংকলনের সময় কমান্ড লাইনে কোন পরামিতি প্রয়োজন তা ব্যাখ্যা করবে।
মাল্টে স্কোরুপা্পা

@ মাল্টসকোরুপা আপনি কি শরীর পড়ছেন?
ব্রায়াম

উত্তর:


31

উবুন্টু ব্যবহার করে গ্রাফিক্স প্রোগ্রামিংয়ের জন্য বেশ কয়েকটি বিকল্প রয়েছে।

এসডিএল ব্যবহার করে

আপনি যদি graphics.hউবুন্টু প্ল্যাটফর্মে ব্যবহার করতে চান তবে আপনাকে সংকলন এবং ইনস্টল করতে হবে libgraph। এটি লিনাক্সের এসডিএল ব্যবহার করে টার্বো সি গ্রাফিক্স এপিআই প্রয়োগ করে।

এটি উত্পাদন মানের অ্যাপ্লিকেশনের জন্য খুব শক্তিশালী এবং উপযুক্ত নয়, তবে এটি শেখার উদ্দেশ্যে সহজ এবং সহজেই ব্যবহারযোগ্য।

আপনি এখান থেকে ডাউনলোড করতে পারেন ।

  1. প্রথমে ইউনিভার্স সংগ্রহস্থল যুক্ত করুন (যেহেতু কিছু প্রয়োজনীয় প্যাকেজগুলি মূল ভান্ডারে উপলব্ধ নয়):

    sudo add-apt-repository universe
    sudo apt-get update
  2. দ্বিতীয়টি বিল্ড-প্রয়োজনীয় এবং কিছু অতিরিক্ত প্যাকেজ ইনস্টল করুন:

    • 18.04 পূর্ববর্তী সংস্করণগুলির জন্য:

      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 এর জন্য : উবুন্টু থেকে 18.04 guile-2.0কাজ করে এবং হ্রাস পেয়েছে libesd0-dev। এর জন্য আপনাকে xenialইন এর সংগ্রহস্থলগুলি যুক্ত করতে হবে sources.list

      sudo nano /etc/apt/sources.list

      এই লাইনগুলি যুক্ত করুন:

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

      চালান sudo apt-get update। তারপরে প্যাকেজগুলি ইনস্টল করুন:

      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. এখন ডাউনলোড করা libgraph-1.0.2.tar.gzফাইলটি বের করুন।

  4. নিষ্ক্রিয় ফোল্ডারে যান এবং নিম্নলিখিত কমান্ডটি চালান:

    ./configure
    make
    sudo make install
    sudo cp /usr/local/lib/libgraph.* /usr/lib
  5. এখন আপনি #include<graphics.h>আপনার প্রোগ্রামে উবুন্টু এবং নিম্নলিখিত লাইনটি ব্যবহার করতে পারেন :

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

এখানে একটি নমুনা প্রোগ্রাম ব্যবহার করে 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;
}
  • এটি কম্পাইল করতে

    gcc demo.c -o demo -lgraph
  • চালানোর জন্য টাইপ করুন

    ./demo

ডেমো আউটপুট 1

ওপেনজিএল (জিএলটিউটের মাধ্যমে) ব্যবহার করা হচ্ছে

যদিও ওপেনজিএলটি মূলত থ্রিডি প্রোগ্রামিংয়ের জন্য তৈরি করা হয়েছে, 2D আকার আঁকলে ওপেনগিএলকে প্রাথমিক রূপরেখা এবং পরিচয় দেওয়া হয় এবং কীভাবে ওপেনগিএলে অঙ্কনগুলি শুরু করা যায় সে সম্পর্কে ধারণা দেয়।

  • GLUT ইনস্টল করতে, টার্মিনাল খুলুন এবং টাইপ করুন sudo apt-get install freeglut3-dev
  • এখানে GLUT ব্যবহার করে একটি সাধারণ গ্রাফিক্স প্রোগ্রাম
/*  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;
  }
  • এটি ব্যবহার করে সংকলন করুন

    জিসিসি ডেমো.সি--এ ডেমো -lglut -lGL

  • এটি ব্যবহার করে চালান

    ./demo

ডেমো 2 আউটপুট


1
আমি এসডিএল ব্যবহার করছি, তবে আমি যেমন বলেছিলাম তেমন সমস্ত স্টাফ করেছিলাম, ইন্টেল লিবিগ্রাফও, তবে প্রোগ্রাম চালানোর পরে, এটি থামে এবং হঠাৎ একটি ত্রুটির সাথে শেষ হয় [xcb] সারি প্রক্রিয়াকরণের সময় অজানা সিকোয়েন্স নম্বর
লুজান বড়াল

আপনি উবুন্টুর কোন সংস্করণ ব্যবহার করছেন?
g_p

আমি উবুন্টু 14.04
লুজান বড়াল

@ লুজানবারাল, এটি জিটিকে সমস্যা বলে মনে হচ্ছে, তবে আপনি এখনও প্রোগ্রামটি চালাতে পারেন।
g_p

1
এসডিএল ব্যবহার করে লিবিগ্রাফ ইনস্টল করার সময় অভিজ্ঞ ত্রুটিগুলির জন্য Askubuntu.com/a/995265/719469 দেখুন এবং Askubuntu.com/a/717262/719469 (ব্যক্তিগত অভিজ্ঞতা দ্বারা এটি বলে আপনার অনেক সময় সাশ্রয় করবে: পি)
কেওয়াল শাহ

2

আপনি যদি উবুন্টু বা অন্য কোনও লিনাক্স ডিস্ট্রোতে গ্রাফিক্স.h ব্যবহার করতে চান তবে আমি libxbgi পছন্দ করি। এটি উইন্ডোগুলির জন্য গ্রাফিক্সের কাছ থেকে প্রত্যাশা করা প্রায় সমস্ত কাজ করতে পারে। আপনি এখান থেকে এটি ডাউনলোড করতে পারেন: http://libxbgi.sourceforge.net/

অন্যথায় যদি আপনি কিছু উচ্চ শেষ গ্রাফিক্স করতে চান তবে আপনি সেখানে এসডিএল (যা বেশিরভাগ প্রোগ্রামিং ভিডিও গেমগুলির জন্য) এবং ওপেনজিএল (যা 3 ডি গ্রাফিক্সের জন্য) রয়েছে। আপনি দুটির মিশ্রণও ব্যবহার করতে পারেন। একটি উদাহরণ হ'ল গেম ব্রিকোলো (বানান ভুল হতে পারে)।

সুখী গ্রাফিক্স প্রোগ্রামিং !!

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.