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

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

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


توزیع گنو/لینوکس اوبونتو ۲۰ ساله شد 🎉

نویسنده موضوع: برنامه ای رو باQTنوشتم،موقع ای که فایلmakeرو اجرا میکنم به مشکل برخورد میکنم  (دفعات بازدید: 2374 بار)

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

آفلاین hasannoori

  • Sr. Member
  • *
  • ارسال: 423
  • جنسیت : پسر
    • ق
سلام دوستان
برنامه ای رو با QT نوشتم و لی موقع ای که فایل make رو اجرا میکنم به مشکل زیر برخورد میکنم:
$ make
g++ -c -pipe -Wall -W -O2 -D_REENTRANT -DQT_NO_DEBUG -DQT_THREAD_SUPPORT  -I/usr/share/qt3/mkspecs/default -I. -I. -I/usr/share/qt3/include -o hello.o hello.cpp
hello.cpp:7:26: error: qapplication.h: No such file or directory
hello.cpp:8:25: error: qpushbutton.h: No such file or directory
hello.cpp: In function 'int main(int, char**)':
hello.cpp:13: error: 'QApplication' was not declared in this scope
hello.cpp:13: error: expected `;' before 'a'
hello.cpp:15: error: 'QPushButton' was not declared in this scope
hello.cpp:15: error: expected `;' before 'hello'
hello.cpp:16: error: 'hello' was not declared in this scope
hello.cpp:18: error: 'a' was not declared in this scope
hello.cpp: At global scope:
hello.cpp:11: warning: unused parameter 'argc'
hello.cpp:11: warning: unused parameter 'argv'
make: *** [hello.o] Error 1
به مسیر  /usr/share/qt3/ رفتم و پوشه ای با نامinclude یافت نشد.
همونطور که از خطایی که در بالا داده میشه فهمید، اینه که: هدر فایلها در جای خودشون نیستند.
حالا دوستان بفرمایید که:
۱- چطور میتونم اون هدر فایلها رو دریافت کنم، ونیز در جای مناسب نصبشون کنم؟
۲- همینطور چطور میشه این مسیر(Path) رو در g++ بعنوان گزینه پیشفرض قرار داد، تا همیشه مجبور نباشم که اون مسیر رو هنگام کامپایل کردن بهش بگم؟
---------------

آفلاین Saied

  • Full Member
  • *
  • ارسال: 118
نیازی به این همه دردسر نداشتی! از qmake استفاده کن. برای Qt 3 ببین بسته libqt3-mt-dev رو نصب داری.
برای استفاده از qmake هم یک بار qmake -project یک فایل pro می سازه. qmake رو دوباره بدون هیچ ارگومانی به کار ببری Makefile می سازه و بعدش می تونی از make استفاده کنی.

آفلاین arman_o71

  • Full Member
  • *
  • ارسال: 183
  • جنسیت : پسر
برای اضافه کردن هدرهای هر پکیج یه‌دونه با پسوند -dev وجود داره (مثل libqt-3-mt-dev)
برای اضافه کردن هدرها به صورت پیش‌فرض C_INCLUDE_PATH و CPLUS_INCLUDE_PATH هست
البته استفاده کردن از qmake بهتره
One of the main causes of the fall of the Roman Empire was that, lacking zero, they had no way to indicate successful termination of their C programs.

    Robert Firth

آفلاین hasannoori

  • Sr. Member
  • *
  • ارسال: 423
  • جنسیت : پسر
    • ق
دوستان از راهنماییتون متشکرم.
بالاخره من هدر ها رو پیدا کردم و اونها پس از نصب در پوشه /usr/include/qt3 قزاز گزفتند.
در ضمن من قبل از make از qmake -project و بعد qmake استفاده کردم.
بعد خودش یه فایل make مناسب ایجاد کرد. البته من اون و ویرایش کردم و مسیر درست هدرها رو وارد کردم.(همون که بالا گفتم)
ولی همچنان مشکل برقرار بود.
میتونید راهنمایی بیشتری کنید!
یا اینکه ممکنه از مسیر هدر ها ناشی بشه؟
چطور میتوانم مسیر نصب پیشفرضه اون بسته هدر ها رو تغییر بدم(بسته ها دبیاهنی هستند و نه سورس)

آفلاین Saied

  • Full Member
  • *
  • ارسال: 118
نبایستی Makefile رو ویرایش کنی. خود qmake می دونه هدرها و کتابخانه ها کجاست!

آفلاین hasannoori

  • Sr. Member
  • *
  • ارسال: 423
  • جنسیت : پسر
    • ق
نبایستی Makefile رو ویرایش کنی. خود qmake می دونه هدرها و کتابخانه ها کجاست!
نه اینطور نیست چون متاسفانه هدرهای من تو آدرس /usr/include/qt3  قرار داره ولی فایل make
آدرس/usr/share/qt3/include رو مینویسه که اشتباهه!!

آفلاین bahman.azimii

  • Jr. Member
  • *
  • ارسال: 71
شما به جای دستور qmake از دستور qmake-qt4 یا qmake-qt3 استفاده کن . به این طریق:
qmake-qt4 -project
qmake-qt4 filename.pro
make