Qt: -lGL ত্রুটি খুঁজে পাচ্ছে না


109

আমি কেবল কিউটিক্রিটার পুনরায় ইনস্টল করেছি, নতুন প্রকল্প তৈরি করেছি ( কিউটি অ্যাপ্লিকেশন ) সংকলনের পরে এটি পেয়েছে:

/usr/bin/ld: **cannot find -lGL**
collect2: error: ld returned 1 exit status
make: *** [untitled1] Error 1
18:07:41: The process "/usr/bin/make" exited with code 2.
Error while building/deploying project untitled1 (kit: Desktop Qt 5.1.0 GCC 32bit)
When executing step 'Make'

( প্রকল্প ফাঁকা, আমি কোনও পরিবর্তন করিনি )

কিউটি ক্রিয়েটার 2.7.2
কিউটি 5.1.0 (32 বিট)
উবুন্টু 13.04 এর উপর ভিত্তি করে

আমি কীভাবে এই সমস্যার সমাধান করব?


আপনি কি ওপেনগল ইনস্টল করেছেন?
lpapp


উত্তর:


157

আপনার "libgl1-mesa-dev" প্যাকেজটি ইনস্টল করা উচিত:

sudo apt install libgl1-mesa-dev

6
এটি কিভাবে সঠিক উত্তর? আপনি কেন একটি লাইব্রেরি ব্যবহার করা হচ্ছে না এর সাথে লিঙ্ক করবেন? লিঙ্কার পতাকাগুলি কি কেবল অন্তর্ভুক্ত করা উচিত নয় -lGL?
কুয়াদু

6
@ কুয়েডু: ত্রুটি এবং libgl1 -... এ জিএল ওপেনগিএল এর জন্য, যা কিউটি 5.x এর মৌলিক নির্ভরতা। কিউটি বিকাশের জন্য সেট আপ করার সময় এটি ডেভসের পক্ষে একটি সাধারণ ত্রুটি - তবে তারা ওপেনজিএল বিকাশ lib ইনস্টল করার পরে তারা আর কখনও তা দেখতে পায় না।
পিক্সেলগ্রিজ

উবুন্টু 20,04 প্রয়োজনীয় OpenGL লাইব্রেরি সঙ্গে জাহাজ, এটা কোনো প্যাকেজগুলি ইনস্টল করার প্রয়োজন নেই, আপনি শুধু ব্যবহার করতে হবে ln, / usr / lib একটি লিঙ্ক তৈরি দেখতে destan এর উত্তর , 20,04 প্যাকেজ কিছু তাতে দরকারী আছে বলে মনে হচ্ছে না।

75

আপনার কিছু ইনস্টল করার দরকার নেই। libGLউবুন্টুতে ইতিমধ্যে ইনস্টল করা আছে, আপনার এটির জন্য নরম লিঙ্ক প্রয়োজন। (উবুন্টু 14.x এবং 15.x এর জন্য পরীক্ষিত, পরবর্তী সংস্করণগুলির জন্য কাজ করতে পারে)

  1. প্রথমে জিএল লাইব্রেরিটি সনাক্ত করুন
  2. তারপরে এটিকে / usr / lib এর অধীনে লিঙ্ক করুন
  3. লাইব্রেরিটি অনুপস্থিত থাকলে, এটি libgl1-mesa-dev প্যাকেজের মাধ্যমে ইনস্টল করা যেতে পারে

আপনি এখানে এটি কীভাবে করতে পারেন তা এখানে:

$ locate libGL
/usr/lib/i386-linux-gnu/mesa/libGL.so.1
/usr/lib/i386-linux-gnu/mesa/libGL.so.1.2.0
/usr/lib/x86_64-linux-gnu/libGLEW.so.1.10
/usr/lib/x86_64-linux-gnu/libGLEW.so.1.10.0
/usr/lib/x86_64-linux-gnu/libGLEWmx.so.1.10
/usr/lib/x86_64-linux-gnu/libGLEWmx.so.1.10.0
/usr/lib/x86_64-linux-gnu/libGLU.so.1
/usr/lib/x86_64-linux-gnu/libGLU.so.1.3.1
/usr/lib/x86_64-linux-gnu/mesa/libGL.so.1
/usr/lib/x86_64-linux-gnu/mesa/libGL.so.1.2.0
/usr/lib/x86_64-linux-gnu/mesa-egl/libGLESv2.so.2
/usr/lib/x86_64-linux-gnu/mesa-egl/libGLESv2.so.2.0.0
$ sudo ln -s /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1 /usr/lib/libGL.so

1
হ্যাঁ, এটি কাজ করে। ldconfigএই ক্ষেত্রে ভাগ করা লাইব্রেরিগুলির সাথে ডিল করার পরে চালানো সাধারণত ভাল ধারণা ।
হোসে টমসের টোকিনো

উত্তর করার জন্য ধন্যবাদ! আমার সিস্টেমে অ্যান্ড্রয়েড এসডিকে, স্টিম এবং অন্যান্য অ্যাপ্লিকেশনগুলির কারণে আমার একাধিক libGL ছিল। মূল মেসা ফোল্ডারটি ফোল্ডারে উপস্থিত ছিল i386-linux-gnu। এই উত্তরটি যে কেউ পড়ছেন, আপনি উবুন্টুতে সহজেই চালিত করে ডিফল্ট ইনস্টলড লাইব্রেরিটি সনাক্ত করতে পারেন locate libGL | grep mesaএবং তারপরে sudo lnসঠিক উত্তর দিয়ে এই উত্তরে বর্ণিত শেষ আদেশটি পরিবর্তন করতে পারেন ।
আকাশ আগারওয়াল

1
এটি আমার জন্য উবুন্টু 16.10 এ কাজ করেছিল, তবে আমি যদি বিভ্রান্তি হয়ে থাকি তবে এটি যদি এখন ওপেনজিএল উপস্থাপনের জন্য এনভিডিয়া জিপিইউ ব্যবহার করছে, বা / ডাব্লু রেন্ডারার হিসাবে?
ডেভিডজে

এই উত্তরটি পিকেজি-কনফিগার প্রশ্নটি সমাধান করবে বলে মনে হচ্ছে না, তাই না? IE: আপনি যদি pkg-config --libs ব্যবহারের জন্য কিউটি বিল্ড লাইন স্থাপন করেন তবে এই সমাধানটি এখনও জিএল-এর জন্য কোনও কিছু ফেরত দেবে না? নিরাপদে থাকার জন্য, আমি কেবল মেসা-দেব ইনস্টল করেছি।
অ্যালেক্স গ্রীষ্ম

3
আপনি স্যার, কুকিটি প্রাপ্য, সেই কন-ম্যান কে নয় যে বড় টিকটি ছিলেন
জাঙ্গোদুদে

3

গুই কিউটি মডিউলটি ডিফল্টরূপে অন্তর্ভুক্ত থাকে । আপনি যদি এটি কোনও প্রকল্পে ব্যবহার করতে না চান (উদাহরণস্বরূপ, এটি একটি গ্রন্থাগার বা কেবল স্টিডিও ব্যবহার করে), আপনাকে এটি .pro ফাইলে উল্লেখ করতে হবে।

QT -= gui

এবং লিঙ্কারটি ইনস্টল করা আছে কিনা তা বিবেচনা না করেই এলজিএল সন্ধানের চেষ্টা করবে না।

আমার কেস স্বীকারোক্তিটি কিছুটা বিশৃঙ্খল, যেহেতু কিউটি ব্যবহারের মূল কারণ হ'ল গুই তৈরি করা। জিএল লাইব্রেরি ইনস্টল করা অবশ্যই কঠিন নয়, আমি কেবল আমার দ্রুত এবং নোংরা হ্যালো ওয়ার্ল্ড কেন এটি জানতে চেয়েছিলাম।




1

X86 কম্পিউটারে আমার সিস্টেমটি উবুন্টু 16.04 (এনভিআইডিআইএ জিফোর্স জিপিইউ সহ)।

অবস্থিত লাইব্রেরি ফাইলগুলি পরীক্ষা করুন /usr/lib/x86_64-linux-gnu

ls -al /usr/lib/x86_64-linux-gnu/libG*

আপনি যদি ভাঙা লিঙ্কটি দেখতে পান তবে পুনরায় ইনস্টল করুন libgl1-mesa-glx

sudo apt install --reinstall libgl1-mesa-glx

এবং, লাইব্রেরি পুনরায় পরীক্ষা করুন।


0

আমার ক্ষেত্রে: আমি উইন 10 bit৪ বিটে কিউটি 32 বিট লিব ইনস্টল করেছি এবং এটি ত্রুটি হয়ে গেছে, আমি সমস্ত 64 বিটে পরিবর্তন করি এবং কিউটি স্রষ্টা সহজেই চালাবেন।


-1

এই সমস্যাটি সমাধানের জন্য এক মিনিট আগে মামলা হয়েছে। নীচের নীচের পদক্ষেপটি কেবল করুন এবং কিউটিসিস্ট্রির ঠিক ঠিক কাজ করা উচিত।

sudo জিপার ইনস্টল - টাইপ প্যাটার্ন ডেভেল_বাসিস

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