انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید

نویسنده موضوع: QT error: cannot find -lGL (حل شد)  (دفعات بازدید: 933 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین kooroshrad

  • Full Member
  • *
  • ارسال: 135
  • جنسیت : پسر
  • بیاموزیم و آموزش دهیم
QT error: cannot find -lGL (حل شد)
« : 23 بهمن 1397، 03:15 ب‌ظ »
با سلام به همه دوستان

توی ابونتو داشتم با QT5.12 کد میزدم که با یه خطای عجیب روبه رو شدم (گوگل کردم به جواب درستی نرسیدم)

توی بخش Issue همچین چیزی تحویلم میده==========>    :-1: error: cannot find -lGL


و توی بخش Compile Output همچین چیزی تحویل داده :


15:07:49: Running steps for project untitled4...
15:07:49: Configuration unchanged, skipping qmake step.
15:07:49: Starting: "/usr/bin/make" -j4
g++ -Wl,-rpath,/home/rad/Qt5.12.0/5.12.0/gcc_64/lib -o untitled4 main.o qrc_qml.o   -L/home/rad/Qt5.12.0/5.12.0/gcc_64/lib -lQt5Quick -lQt5Gui -lQt5Qml -lQt5Network -lQt5Core -lGL -lpthread   
/usr/bin/ld: cannot find -lGL
Makefile:257: recipe for target 'untitled4' failed
collect2: error: ld returned 1 exit status
make: *** [untitled4] Error 1
15:07:50: The process "/usr/bin/make" exited with code 2.
Error while building/deploying project untitled4 (kit: Desktop Qt 5.12.0 GCC 64bit)
When executing step "Make"
15:07:50: Elapsed time: ۰:۰۰:۰۱.

چطور برطرفش کنم ؟
« آخرین ویرایش: 24 بهمن 1397، 03:04 ب‌ظ توسط kooroshrad »

آفلاین علی رزم دیده

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 1244
  • جنسیت : پسر
  • ali76 سابق
پاسخ : QT error: cannot find -lGL
« پاسخ #1 : 23 بهمن 1397، 05:38 ب‌ظ »
سلام
به نظرم مشکلتون با نصب پکیج libgl1-mesa-dev حل خواهد شد :
sudo apt install --reinstall libgl1-mesa-dev

آفلاین kooroshrad

  • Full Member
  • *
  • ارسال: 135
  • جنسیت : پسر
  • بیاموزیم و آموزش دهیم
پاسخ : QT error: cannot find -lGL
« پاسخ #2 : 24 بهمن 1397، 03:00 ب‌ظ »
با سلام و تشکر از کمکتون

دستور بالا درست بود و مشکل برطرف شد.

اما در صورت امکان یه توضیح کوچیک بدین که چرا این مشکل بروز کرده بود و این نصب مجدد مربوط به چه چیزی بوده(آیا این کتابخانه که مجددا نصب کردیم مطلق به gcc بود ؟)
« آخرین ویرایش: 24 بهمن 1397، 03:02 ب‌ظ توسط kooroshrad »

آفلاین علی رزم دیده

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 1244
  • جنسیت : پسر
  • ali76 سابق
پاسخ : QT error: cannot find -lGL (حل شد)
« پاسخ #3 : 25 بهمن 1397، 02:17 ق‌ظ »
با سلام و تشکر از کمکتون
خواهش می کنم دوست عزیز

اما در صورت امکان یه توضیح کوچیک بدین که چرا این مشکل بروز کرده بود و این نصب مجدد مربوط به چه چیزی بوده(آیا این کتابخانه که مجددا نصب کردیم مطلق به gcc بود ؟)
شما سورستون رو با -lGL کامپایل می کردین :
g++ ....... -lGL ........
آپشن -l برای لینک کردن استاتیک به کتابخونه های سیستم مورد استفاده قرار می گیره.
الان وقتی شما سورس رو همراه با -lGL کامپایل می کنین باید کتابخونه های مربوط به OpenGl روی سیستم شما نصب باشه تا ld بتونه لینک مربوط به اون کتابخونه ها رو پیدا کنه. که این کتابخونه ها توی پکیج libgl1-mesa-dev موجود هستن برای همین این پکیج روی سیستم شما باید نصب باشه.

حالا دلیل اینکه --reinstall استفاده کردیم این بود که دو حالت در کل وجود داره :
یا این پکیج روی سیستم شما نصب نیست که در این صورت خود apt از صفر دانلود و نصب رو انجام می ده (درست مثل حالتی که از --reinstall استفاده نشده باشه)
و یا این پکیج نصب هست ولی به درستی نصب نشده و یا بعضی از فایل های مربوط به این پکیج از سیستم شما حذف شدن در این صورت این آپشن میاد و فایل های حذف شده رو دوباره ایجاد می کنه.
« آخرین ویرایش: 25 بهمن 1397، 02:28 ق‌ظ توسط علی رزم دیده »