qt3 --> qt4, Помогите новичку. |
Здравствуйте, гость ( Вход | Регистрация )
qt3 --> qt4, Помогите новичку. |
tomas |
21.7.2009, 23:16
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 6 Регистрация: 21.7.2009 Пользователь №: 929 Спасибо сказали: 0 раз(а) Репутация: 0 |
Есть проект который кое как портирован с qt3 на qt4, пытаюсь разобраться. Возникла следубщая проблема: при компиляции не обнаружился файл
Цитата n file included from catalogue/wcatalogue.cpp:44: ../designer/deditdialog.h:4:28: error: ui_deditdialog.h: Нет такого файла или каталога Покопавшись выяснил что файл генерится (в отличии от qt3 когда он уже существовал) при заходе компилятора в каталог designer. Собственно deditdialog.h deditdialog.cpp и deditdialog.ui прописаны в designer.pro. НО тут возникает проблема перед сборкой должна собраться библиотека, которая требует ui_deditdialog.h, но он появляется только при сборке дизайнера, для сборки которого нужна эта бибилиотека, Вот такая вот рекурсия. Собственно как разрулить? Сильно не пинайте, только начинаю постигать... |
|
|
MoPDoBoPoT |
22.7.2009, 0:33
Сообщение
#2
|
Участник Группа: Участник Сообщений: 172 Регистрация: 7.5.2009 Из: Москва Пользователь №: 738 Спасибо сказали: 44 раз(а) Репутация: 9 |
В общем случае для этого используется утилита uic (находится в %QT%/bin), но для перевода форм из Qt3 в Qt4, надо пользовать uic3. Лучше почитай инфу по портированию (есть в официальной доке, у Шлее еще описано).
|
|
|
tomas |
22.7.2009, 1:01
Сообщение
#3
|
Новичок Группа: Новичок Сообщений: 6 Регистрация: 21.7.2009 Пользователь №: 929 Спасибо сказали: 0 раз(а) Репутация: 0 |
Нет проблема не в этом. Формы я сам перерисовывал для qt4, а над кодом работал другой человек. Но он собрав однажды весь проект работал только над дизайнером (модуль проекта так сказать), соответственно на проблему не натолкнулся ибо либка лежала у него собраная, и он пересобирал только модуль над которым работал. А теперь я вот взялся там покапаться, и наткнулся. Видимо нужно переделывать про файлы? Э то ведь бардак.
|
|
|
Litkevich Yuriy |
22.7.2009, 4:00
Сообщение
#4
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
в pro-файле должны быть перечислены файлы форм:
затем запустить qmake, чтобы он создал свежий makefile
|
|
|
tomas |
22.7.2009, 20:34
Сообщение
#5
|
Новичок Группа: Новичок Сообщений: 6 Регистрация: 21.7.2009 Пользователь №: 929 Спасибо сказали: 0 раз(а) Репутация: 0 |
Все прописано.
|
|
|
Litkevich Yuriy |
23.7.2009, 6:39
Сообщение
#6
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
попробуй проект почистить (make clean), а затем опять qmake вызвать. Может где-то какие-то объектники кривые остались.
|
|
|
kwisp |
23.7.2009, 8:14
Сообщение
#7
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
Litkevich Yuriy,
зачем еще раз qmake? майкфайл же уже есть. make clean по умолчанию удаляет объектники и прочее шушеру сам майкфайл он не трогает. а вот distclean кажется и майкфайл грохнет. |
|
|
Litkevich Yuriy |
23.7.2009, 9:04
Сообщение
#8
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
tomas |
28.7.2009, 17:21
Сообщение
#9
|
Новичок Группа: Новичок Сообщений: 6 Регистрация: 21.7.2009 Пользователь №: 929 Спасибо сказали: 0 раз(а) Репутация: 0 |
Разобрался подробнее. Выкинул qt-creator стало понятнее.
Как говорится все было так только трошечки не так. Итак имеем приложение , используемую им библиотеку, и расширения к приложению плагины. При сборке плагинов возникает выше описаная проблема. то есть ненаходится заголовок ui-шки. Ui-шка прописана в про файле приложения, соответственно появляется она когда начнется собираться приложение. А для сборки приложения нужны собраные расширения. Я сходил в каталог приложения сделал там make. Собраться не собралось, но ui_*.h нужные появились. дальше дело уперлось в другие ошибки. Вообщем как видите ситуатция странная... Цитата Running build steps for project src... Starting: /usr/bin/qmake /usr/src/packages/BUILD/qt3-qdataschema-1.2/src/src.pro -spec /usr/share/qt4/mkspecs/linux-g++ -r CONFIG+=debug Project MESSAGE: QDataSchema BUILD FOR QT Project MESSAGE: QDataSchema BUILD FOR QT Reading /usr/src/packages/BUILD/qt3-qdataschema-1.2/src/lib/lib.pro Reading /usr/src/packages/BUILD/qt3-qdataschema-1.2/src/adm/adm.pro Exited with code 0. Starting: /usr/bin/make -w make: Entering directory `/usr/src/packages/BUILD/qt3-qdataschema-1.2/src' cd lib/ && /usr/bin/make -f Makefile make[1]: Entering directory `/usr/src/packages/BUILD/qt3-qdataschema-1.2/src/lib' g++ -c -pipe -g -D_REENTRANT -Wall -W -fPIC -DQDATASCHEMA_EXPORT -DQT_SQL_LIB -DQT_XML_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/QtCore -I/usr/include/QtGui -I/usr/include/QtXml -I/usr/include/QtSql -I/usr/include -I.moc -o .obj/qdataschema.o qdataschema.cpp In file included from qdataschema.h:32, from qdataschema.cpp:19: qdataschemaglobal.h:96:1: warning: "qApp" redefined In file included from /usr/include/Qt/QtCore:52, from qdataschemaglobal.h:90, from qdataschema.h:32, from qdataschema.cpp:19: /usr/include/Qt/qcoreapplication.h:69:1: warning: this is the location of the previous definition qdataschema.cpp:196: error: prototype for ‘QDataSchema::QDataSchema(QString, const char*, QObject*)’ does not match any in class ‘QDataSchema’ qdataschema.h:44: error: candidates are: QDataSchema::QDataSchema(const QDataSchema&) qdataschema.h:49: error: QDataSchema::QDataSchema(QDataSchema::ConnectionType, const char*) qdataschema.cpp:366: error: expected constructor, destructor, or type conversion before ‘*’ token make[1]: Leaving directory `/usr/src/packages/BUILD/qt3-qdataschema-1.2/src/lib' make: Leaving directory `/usr/src/packages/BUILD/qt3-qdataschema-1.2/src' make[1]: *** [.obj/qdataschema.o] Ошибка 1 make: *** [sub-lib-make_default] Ошибка 2 Exited with code 2. Error while building project src When executing build step 'Make' Вот тут еще ковыряюсь, переведите на русский ощибки. c++ нуб так что даже что гуглить не понимаю. Спасибо всем за ответы. |
|
|
Litkevich Yuriy |
28.7.2009, 20:40
Сообщение
#10
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
Текстовая версия | Сейчас: 1.12.2024, 7:58 |