Название: Не компилит простой код Отправлено: Layer от Сентябрь 25, 2010, 12:10 Код Пишу на плюсах, пару дней назад решил попробовать кьют.. скачал комплект с оф. сайта версии 4.7 и creator 2.0.1 насколько понял он автоматом должен все пути прописывать при установке... но почитав статьи и вопросы на тему настройки, решил посмотреть переменные среды в PATH ничего не оказалось.. прописал ручками Код
теперь когда захожу в Creator Инструменты->Параметры->Qt4 и там теперь в автоопределении есть путь до qmake.exe сразу после установки, там было написано что не определено.. думал это как то повлияет но всё равно возникли ошибки при компиляции... вот такой код выполняет без проблем: Код
а вот на этот простой пример из книги Код
выдает ошибки.. текст консоли сборки: Выполняется сборка проекта console_first... Настройки не изменились, этап qmake пропускается. Запускается "C:/Qt/2010.05/mingw/bin/mingw32-make.exe" -w mingw32-make: Entering directory `D:/Archive/work/Qt_prj/console_first-build-desktop' C:/Qt/2010.05/mingw/bin/mingw32-make -f Makefile.Debug mingw32-make[1]: Entering directory `D:/Archive/work/Qt_prj/console_first-build-desktop' g++ -c -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I'c:/Qt/2010.05/qt/include/QtCore' -I'c:/Qt/2010.05/qt/include' -I'c:/Qt/2010.05/qt/include/ActiveQt' -I'debug' -I'../console_first' -I'.' -I'c:/Qt/2010.05/qt/mkspecs/win32-g++' -o debug/main.o ../console_first/main.cpp In file included from ../console_first/main.cpp:3: c:/Qt/2010.05/qt/include/Qt/qlabel.h:3: warning: ignoring #pragma warning g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -Wl,-subsystem,console -mthreads -Wl -o debug/console_first.exe debug/main.o -L'c:/Qt/2010.05/qt/lib' -lQtCored4 mingw32-make[1]: Leaving directory `D:/Archive/work/Qt_prj/console_first-build-desktop' mingw32-make: Leaving directory `D:/Archive/work/Qt_prj/console_first-build-desktop' debug/main.o: In function `main': D:\Archive\work\Qt_prj\console_first-build-desktop/../console_first/main.cpp:12: undefined reference to `_imp___ZN6QLabelC1ERK7QStringP7QWidget6QFlagsIN2Qt10WindowTypeEE' D:\Archive\work\Qt_prj\console_first-build-desktop/../console_first/main.cpp:20: undefined reference to `_imp___ZN6QLabelD1Ev' D:\Archive\work\Qt_prj\console_first-build-desktop/../console_first/main.cpp:20: undefined reference to `_imp___ZN6QLabelD1Ev' collect2: ld returned 1 exit status mingw32-make[1]: *** [debug/console_first.exe] Error 1 mingw32-make: *** [debug] Error 2 Процесс "C:/Qt/2010.05/mingw/bin/mingw32-make.exe" завершился с кодом %2. Возникла ошибка при сборке проекта console_first (цель: Настольный компьютер) Во время выполнения сборки на этапе "Сборка" подскажите чего не так у меня сделано или настроено? Название: Re: Не компилит простой код Отправлено: MuLLIKA от Сентябрь 25, 2010, 12:17 может так долдно быть return a.exec();
Название: Re: Не компилит простой код Отправлено: Авварон от Сентябрь 25, 2010, 12:24 а кто вас просил лезть куда не просят? Креатору чхать на патх, он сам всё прописывает. Но у вас, похоже, всё прописано правильно.
покажите лучше .pro файл Название: Re: Не компилит простой код Отправлено: BRE от Сентябрь 25, 2010, 12:42 QCoreApplication + виджеты?
Для QLabel нужно QApplication + подключить в проекте линковку QtGui. Название: Re: Не компилит простой код Отправлено: Layer от Сентябрь 25, 2010, 12:43 может так долдно быть return a.exec(); пробовал и так.. то же самое.. Название: Re: Не компилит простой код Отправлено: Авварон от Сентябрь 25, 2010, 12:46 подключить в проекте линковку QtGui. вот я и прошу про-файл:)Название: Re: Не компилит простой код Отправлено: BRE от Сентябрь 25, 2010, 12:47 вот я и прошу про-файл:) Ну там и по выводу компилятора видно, что QtGui не подключается. :)Название: Re: Не компилит простой код Отправлено: Layer от Сентябрь 25, 2010, 12:47 а кто вас просил лезть куда не просят? Креатору чхать на патх, он сам всё прописывает. Но у вас, похоже, всё прописано правильно. покажите лучше .pro файл полез я туда только тогда когда стал получать подобные ошибки, а так после установки ничего не трогал.. только вот понял что хэдэры некоторые лежат в других директориях, не так как в примерах книги написано=) про-файл: QT += core QT -= gui TARGET = console_first CONFIG += console CONFIG -= app_bundle TEMPLATE = app SOURCES += main.cpp Название: Re: Не компилит простой код Отправлено: Авварон от Сентябрь 25, 2010, 12:51 убрать
QT -= gui убрать CONFIG += console CONFIG -= app_bundle Название: Re: Не компилит простой код Отправлено: Layer от Сентябрь 25, 2010, 12:52 QCoreApplication + виджеты? Для QLabel нужно QApplication + подключить в проекте линковку QtGui. QCoreApplication - подключает видимо визард самостоятельно.. прописываю.. #include <QtGui/QApplication> ошибки выдает те же самые в книге вообще кроме #include <QtGui> ничего нету а у меня creator говорит что нет такой директории.. видимо просто недосмотрел я чего-то) не попалась нужной информации.. подскажите по поводу линковки чего где надо подключить? Название: Re: Не компилит простой код Отправлено: BRE от Сентябрь 25, 2010, 12:54 подскажите по поводу линковки чего где надо подключить? Читай выше ответ Авварон.После подключения модуля gui, все нужные заголовочные файлы (QApplication, QLabel, ...) будут доступны. Название: Re: Не компилит простой код Отправлено: Layer от Сентябрь 25, 2010, 13:07 подскажите по поводу линковки чего где надо подключить? Читай выше ответ Авварон.После подключения модуля gui, все нужные заголовочные файлы (QApplication, QLabel, ...) будут доступны. спасибо! теперь работает как полагается) но в книге ничего не было сказано про настройку pro-файла буду разбираться:) Название: Re: Не компилит простой код Отправлено: Авварон от Сентябрь 25, 2010, 13:13 при создании проекта вы указываете тип - консоль или гуи.
а в книге нет ничего, потому что дефолтные настройки соотвествуют гуи проекту (по хорошему QT += core тоже не нужно, тк qmake по умолчанию подключает core и gui) Название: Re: Не компилит простой код Отправлено: Layer от Сентябрь 25, 2010, 13:28 при создании проекта вы указываете тип - консоль или гуи. а в книге нет ничего, потому что дефолтные настройки соотвествуют гуи проекту (по хорошему QT += core тоже не нужно, тк qmake по умолчанию подключает core и gui) большое спасибо=) |