crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V   1 2 >  
Ответить в данную темуНачать новую тему
> 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-файле должны быть перечислены файлы форм:
FORMS  += my.ui
затем запустить 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  


Цитата(kwisp @ 23.7.2009, 12:14) *
зачем еще раз qmake?
так, для надёги, вдруг pro-файл по каким-то причинам не перечитан.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
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  


Покажи файлы qdataschema.{h|cpp}

tomas, когда будешь писать сообщение не забудь глянуть эту тему
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

2 страниц V   1 2 >
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 28.4.2024, 13:40