ওপেনজিএল প্রোগ্রাম সংকলন করুন (জিএল / গ্লোবাল হার অনুপস্থিত)


51

আমি একটি সম্পূর্ণ লিনাক্স / উবুন্টু নুব, সুতরাং আমি এই প্রশ্নের যে কোনও বোবা অংশের জন্য ক্ষমা চাইছি বা অনুসরণ করে যাচ্ছি।

আমি এমন একটি প্রোগ্রাম পাওয়ার চেষ্টা করছি যা আমার সফ্টওয়্যার ইঞ্জিনিয়ারিং ক্লাসের গ্রুপটি আমার হোম কম্পিউটারে লিখেছিল। স্কুলে, আমাদের কাছে লিনাক্স রয়েছে, এবং এটি সংকলন করে সেখানে ঠিকঠাক চলবে। আমি ভিএমওয়্যার ডাউনলোড করেছি, ভার্চুয়াল মেশিনে উবুন্টু ইনস্টল করেছি এবং এখন আমার প্রোগ্রামটি খোলার চেষ্টা করছি।

আমি যখন আমার মেক ফাইলটি চালানোর চেষ্টা করি তখনই আমার ত্রুটি হয় says

gcc -I../include -pthread -O1 -c rain.c
In file included from rain.c:19:0:
../include/GL/glfw.h:176:21: fatal error: GL/gl.h: No such file or directory
compilation terminated.
make: *** [rain.o] Error 1

আমার বিদ্যালয়ের কম্পিউটারগুলিতে যখন এটি করা যায় তখন কেন এই ফাইলটি খুঁজে পাবে না তা জানতে কেউ কি ঘটতে পারে? এবং এটি ডাউনলোড করতে বা এটি সঠিক জায়গায় পাওয়ার জন্য আমার কী করা দরকার?

উত্তর:


83

আমি অনুমান করব যে আপনার কাছে কোনও ডি প্যাকেজ নেই যা gl.h. সরবরাহ করে apt-fileকমান্ড লাইন টুলটি ব্যবহার করা।

প্রথমে নিশ্চিত হয়ে নিন যে এটি আপ টু ডেট রয়েছে:

apt-file update

এখন আপনি উত্তর দিতে একটি অনুসন্ধান লিখতে পারেন "কী প্যাকেজটি gl.h ফাইল সরবরাহ করে?"

apt-file search "gl.h"

এখনই চেক করার জন্য আমার কাছে একটি উবুন্টু বাক্স নেই, তবে আমি অনুমান করি ফলাফলটি মেসা-দেব বা ওপেনগল-দেবের মতো কিছু হবে।

একবার আপনি কী প্যাকেজ "gl.h" সরবরাহ করে তা জানতে পেরে (আসুন এপটি-ফাইল থেকে ফলাফলটি "libmesa-dev" হয়) ইনস্টল করুন:

apt-get install libmesa-dev

কমান্ডগুলির উপযুক্ত পরিবার সম্পর্কে আরও তথ্য: https://help.ubuntu.com/commune/AptGet/Howto


সাহায্যের জন্য ধন্যবাদ. আপনি যা প্রস্তাব করেছিলেন তা চেষ্টা করেছিলাম এবং অনুসন্ধানের আউটপুট সহ মূল পোস্টটি আপডেট করেছিলাম।
কমই

কেবল এটির সাথে খেলা করার সিদ্ধান্ত নিয়েছে এবং মেসা-কমন-ডেভ প্যাকেজটি ডাউনলোড করেছে। তারপরে আমি ইউএসআর / অন্তর্ভুক্ত / জিএল ফোল্ডারে নেভিগেট পরিচালনা করতে পেরেছি এবং দেখতে পেয়েছি যে এটি সেখানে রয়েছে। আমি এটিকে আমার প্রকল্পের ফোল্ডারে স্রেফ অনুলিপি / আটকানোতে সরিয়েছি এবং মনে হচ্ছে এটি কাজ করে। তবে তখন আমার প্রকল্পটি একটি ত্রুটি দিচ্ছিল যে এটির জন্য একটি "glu.h" ফোল্ডার দরকার, তাই আমি libcgal-dev প্যাকেজটি ডাউনলোড করেছি এবং অনুলিপি / পেস্ট দিয়ে একই কাজ করেছি। এটিকে সঠিক ফোল্ডারে রাখার পরে এবং মেক কমান্ডটি চালানোর পরে, প্রকল্পটি সংকলন করে চলবে। তাই সাহায্যের জন্য আপনাকে অনেক ধন্যবাদ। এখন আমাকে গ্রাফিকগুলি ধীর করার জন্য দরকার। :)
কমই

আপনি কাজ করার জন্য বিল্ড পেয়েছি খুশি! আপনার অনুলিপি / পেস্টটি দ্রুত এবং নোংরা, তবে সঠিকভাবে, আপনার অন্তর্ভুক্তগুলি ভুল হতে পারে। আমি বেশি সি ++ জানি না, তবে উত্স থেকে কিছু প্যাকেজ সংকলন করার মতো একটি সমস্যা হয়েছিল। সমাধান, iirc পরিবর্তন মত ছিল #include <gl.h>থেকে #include<gl/gl.h>
djeikyb

21
ওহ, মানুষ আমাকে শুধু প্যাকেজের নাম দেওয়ার পরিবর্তে মাছ পড়ানো শেখানোর জন্য আপনাকে অনেক ধন্যবাদ!
ব্রায়ান কেইন

2
অ্যাপটি-ফাইল সম্পর্কিত তথ্যের জন্য ধন্যবাদ। GL / gl.h এর জন্য প্রয়োজনীয় প্যাকেজ সম্পর্কিত, এটি হ'ল: mesa-common-dev (কমপক্ষে উবুন্টু 16.04 এর জন্য)
এলাজারআর

36

জন্য GL/gl.hব্যবহার করুন:

sudo apt install mesa-common-dev

আপনি এগুলি সহায়কও পেতে পারেন, কারণ বলুন GL/glu.h:

sudo apt install libglu1-mesa-dev freeglut3-dev

আপনিও অন্তর্ভুক্ত করতে চাইতে পারেনlibglfw3-dev libgles2-mesa-dev
rustx

1

আপনি glproto ( লিঙ্ক ), libdrm ( লিঙ্ক ), এবং তারপর উত্স থেকে mesa ( লিঙ্ক ) তৈরি করতে পারেন । অন্য অনেকগুলি প্যাকেজগুলিতে এই শিরোলেখ ফাইল থাকতে পারে তবে উত্সে যাওয়া গুরুত্বপূর্ণ। এটি আপনার ইনস্টলেশনগুলির মেমরির পদচিহ্নগুলি হ্রাস করবে এবং আপনার সর্বশেষ এবং / অথবা সর্বোত্তম সংস্করণটি নিশ্চিত করবে।

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