انجمنهای فارسی اوبونتو
کمک و پشتیبانی => برنامهسازی => نویسنده: hasannoori در 18 امرداد 1386، 10:31 قظ
-
سلام دوستان
برنامه ای رو با 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++ بعنوان گزینه پیشفرض قرار داد، تا همیشه مجبور نباشم که اون مسیر رو هنگام کامپایل کردن بهش بگم؟
---------------
-
نیازی به این همه دردسر نداشتی! از qmake استفاده کن. برای Qt 3 ببین بسته libqt3-mt-dev رو نصب داری.
برای استفاده از qmake هم یک بار qmake -project یک فایل pro می سازه. qmake رو دوباره بدون هیچ ارگومانی به کار ببری Makefile می سازه و بعدش می تونی از make استفاده کنی.
-
برای اضافه کردن هدرهای هر پکیج یهدونه با پسوند -dev وجود داره (مثل libqt-3-mt-dev)
برای اضافه کردن هدرها به صورت پیشفرض C_INCLUDE_PATH و CPLUS_INCLUDE_PATH هست
البته استفاده کردن از qmake بهتره
-
دوستان از راهنماییتون متشکرم.
بالاخره من هدر ها رو پیدا کردم و اونها پس از نصب در پوشه /usr/include/qt3 قزاز گزفتند.
در ضمن من قبل از make از qmake -project و بعد qmake استفاده کردم.
بعد خودش یه فایل make مناسب ایجاد کرد. البته من اون و ویرایش کردم و مسیر درست هدرها رو وارد کردم.(همون که بالا گفتم)
ولی همچنان مشکل برقرار بود.
میتونید راهنمایی بیشتری کنید!
یا اینکه ممکنه از مسیر هدر ها ناشی بشه؟
چطور میتوانم مسیر نصب پیشفرضه اون بسته هدر ها رو تغییر بدم(بسته ها دبیاهنی هستند و نه سورس)
-
نبایستی Makefile رو ویرایش کنی. خود qmake می دونه هدرها و کتابخانه ها کجاست!
-
نبایستی Makefile رو ویرایش کنی. خود qmake می دونه هدرها و کتابخانه ها کجاست!
نه اینطور نیست چون متاسفانه هدرهای من تو آدرس /usr/include/qt3 قرار داره ولی فایل make
آدرس/usr/share/qt3/include رو مینویسه که اشتباهه!!
-
شما به جای دستور qmake از دستور qmake-qt4 یا qmake-qt3 استفاده کن . به این طریق:
qmake-qt4 -project
qmake-qt4 filename.pro
make