Название: Ошибка прикомпиляциии Отправлено: Maksim от Декабрь 08, 2004, 21:16 Люди добрые!!!!!!!
Помогите пожалуйста. Прога очень легкая ноя не могу скомпелировать ее. #include </usr/local/include/qt/qapplication.h> #include </usr/local/include/qt/qlabel.h> int main(int argc, char *argv[]) { QApplication app(argc, argv); QLabel *label = new QLabel("Hello, Qt!", 0); app.setMainWidget(label); label->show(); return app.exec(); } Когда пишу gmake пишет какуето билеберду: g++ w.cpp -o w /tmp/ccbke3iw.o(.text+0x23): In function `main': : undefined reference to `QApplication::QApplication[in-charge](int&, char**)' /tmp/ccbke3iw.o(.text+0x57): In function `main': : undefined reference to `QString::QString[in-charge](char const*)' /tmp/ccbke3iw.o(.text+0x66): In function `main': : undefined reference to `QLabel::QLabel[in-charge](QString const&, QWidget*, char const*, unsigned)' /tmp/ccbke3iw.o(.text+0x109): In function `main': : undefined reference to `QApplication::setMainWidget(QWidget*)' /tmp/ccbke3iw.o(.text+0x12f): In function `main': : undefined reference to `QApplication::exec()' /tmp/ccbke3iw.o(.text+0x140): In function `main': : undefined reference to `QApplication::~QApplication [in-charge]()' /tmp/ccbke3iw.o(.text+0x160): In function `main': : undefined reference to `QApplication::~QApplication [in-charge]()' /tmp/ccbke3iw.o(.gnu.linkonce.t._ZN7QStringD1Ev+0x21): In function `QString::~QString [in-charge]()': : undefined reference to `QString::shared_null' /tmp/ccbke3iw.o(.gnu.linkonce.t._ZN7QStringD1Ev+0x30): In function `QString::~QString [in-charge]()': : undefined reference to `QStringData::deleteSelf()' collect2: ld returned 1 exit status make: *** [w] Error ЧТО ЭТО ОЗНАЧАЕТ И ЧТО МНЕ ДЕЛАТЬ? СКАЖИТЕ ПОЖАЛУЙСТА :cry: :cry: :cry: :cry: Название: Ошибка прикомпиляциии Отправлено: Admin от Декабрь 08, 2004, 23:30 очень похогже на то что ты забыл библиотеку прилинковать
что то типа -lqt3 Название: Ошибка прикомпиляциии Отправлено: Maksim от Декабрь 08, 2004, 23:50 Обьясни поподробнее пожалуйста : какую библиотеку и как ее прилинковать
Название: Ошибка прикомпиляциии Отправлено: Admin от Декабрь 09, 2004, 13:47 еее самую
родную QT библиотеку ты подклбчаешь? Название: Ошибка прикомпиляциии Отправлено: Hellenna от Декабрь 09, 2004, 22:45 Кроме неподключенной библиотеки, переменная QTDIR в среде правильно выставлена?
Название: Ошибка прикомпиляциии Отправлено: Admin от Декабрь 10, 2004, 09:39 замени
g++ w.cpp -o w на g++ w.cpp -o w -lqt3 и вообще старайся первое время пользоватся qmake Название: Ошибка прикомпиляциии Отправлено: Anonymous от Декабрь 23, 2004, 18:42 Вот у меня та же самая ошибка идет... эта прога из книги
"Разработка графического интерфейса с помощью библиотеки Qt3" и qmake-ом то как раз мы и пользуемся и переменные среды все правильно поставлены qmake -project qmake make и вываливаются ошибки как было показано выше. Решил сегодня сам пересобрать qt, а не ставить его из пакета. Название: Ошибка прикомпиляциии Отправлено: Admin от Декабрь 23, 2004, 23:01 еще раз для тех кто в танке
у вас библиотека не линкуется линковка для gcc идет с помощью -lqt3 поставте и все получится Название: Ошибка прикомпиляциии Отправлено: Anonymous от Декабрь 24, 2004, 22:02 Цитата: "Admin" еще раз для тех кто в танке у вас библиотека не линкуется линковка для gcc идет с помощью -lqt3 поставте и все получится Вобщем Admin прав конечно, но для тек то пользуется qmake скажу... Я вчера собрал qt сам все хозяйство как написано в INSTALL положил /usr/local/qt, исходник этого простого приложения находился ~/qt/hello.cpp ... Так вот что интересное получается если в директории с исходником выполнить qmake -project && qmake && make, то нифига не получится, ничего не соберется и вывалятся все те же ошибки, если выполнить замену названия файла проекта (восле qmake -project создается qt.pro) на hello.pro и далее qmake && make то все успешно соберется оп - ля... оказывается Makefile который генериуется после qmake зависит от имени файла проета, странно как то, лично я тут логики не вижу Второе решение проблеммы это переместить каталог с исходником hello.cpp в подкаталог с qt, а конкретнее в /usr/local/hello/hello.cpp. Далее стандартное qmake -project && qmake && make сделает все нормально уже без всякого переименования создаваемого по умолчанию файла проекта. И на стадии линковки подключается как мне кажется много не нужных библиотек :? Все таки меня не покидает вопрос такого странного поведения qmake, которая генерит Makefile в зависимости от разных условий разный... бред какой то :!: Название: Ошибка прикомпиляциии Отправлено: Admin от Декабрь 26, 2004, 16:53 Когда я начанал qt b линукс изучать начинал, то у меня такие же глюки лезли.
Такие что гуру руками разводили :) Так что где то у вас ошибка или что то вы не допоняли |