Russian Qt Forum
Ноябрь 25, 2024, 06:46 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: Помогите начинающему. Connect SIGNAL to SLOT  (Прочитано 13739 раз)
crossly
Гость
« Ответ #15 : Апрель 28, 2010, 12:00 »

на самом деле проблема немного проще... автор собрал прогу с 4.6.2 и пытается за пустить ее с 4,5,3... вот и проблема.... если было бы на оборот то скорее всего запустилось бы без проблем...
Записан
bigboa
Гость
« Ответ #16 : Апрель 28, 2010, 12:50 »

Странно как-то, попытался собрать проект руками, на той же системе на которой пиал его в Qt Creator.
Делаю следующее:

qmake -project           - все Ok
qmake                        - Ok
make                         - начал ругаться на текст программы:

@home:~/test/ScanDeamon$ make                                                                                                                                             
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_NETWORK_LIB -DQT_CORE_LIB -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4 -I. -o main.o main.cpp                                                                                                                                             
main.cpp:1:35: error: QtCore/QCoreApplication: No such file or directory                                                                                                           
In file included from main.cpp:2:                                                                                                                                                   
./cnetserver.h:4:21: error: QtNetwork: No such file or directory                                                                                                                   
./cnetserver.h:5:22: error: QTcpServer: No such file or directory                                                                                                                   
./cnetserver.h:6:22: error: QTcpSocket: No such file or directory                                                                                                                   
./cnetserver.h:7:19: error: QObject: No such file or directory                                                                                                                     
In file included from main.cpp:2:                                                                                                                                                   
./cnetserver.h:10: error: expected class-name before ‘{’ token                                                                                                                     
./cnetserver.h:11: error: ISO C++ forbids declaration of ‘Q_OBJECT’ with no type                                                                                                   

и т.д.
Вопрос - почему в Qt Creator он не ругается и нормально компилится, а тут так разругался, система одна и та же??
Записан
BRE
Гость
« Ответ #17 : Апрель 28, 2010, 12:53 »

Скорее всего у тебя установлено две версии Qt, одна Qt3, другая Qt4.
Для запуска qmake Qt3 - вызывается qmake, а для запуска qmake Qt4 - нужно звать что-то типа:
qmake-qt4 или qmake4 или ... (тут все от маинтайнера зависит).

А если ты устанавливал SDK сам, то звать нужно qmake с указанием полного пути, например:
/opt/Trolltech/bin/qmake
« Последнее редактирование: Апрель 28, 2010, 12:54 от BRE » Записан
crossly
Гость
« Ответ #18 : Апрель 28, 2010, 12:54 »

потому что когда ты собираешь в консоли компилятор ищет инклюды в системной директории.... QtCreator их ищет там где укажешь.... т.е. в Qt version в настройках....
+ тебе на установить dev-пакет qt.... в убунту что то примерно qt4-dev......
это все если ты хочешь собрать приложение с qt установленной в системе...
« Последнее редактирование: Апрель 28, 2010, 12:58 от crossly » Записан
bigboa
Гость
« Ответ #19 : Апрель 28, 2010, 13:17 »

проблема и правда в разных версиях qmake.
использовав qmake из SDK и файл .pro из проекта, все заработало.
Вот только как теперь это же повторить на другой машине, как не ставя полный SDK поставить туда нужный qmake и все остальное?
Записан
crossly
Гость
« Ответ #20 : Апрель 28, 2010, 13:58 »

епть.... проблема не в qmake.... а в том что у тебя в СДК есть заголовочные файлы .... а в системе их нету... я вообще не понимаю нынешних молодых программистов.... без СДК и шагу и ступить не могут.... и о том как на самом деле происходит процесс сборки никакого понятия не имеют.... уф.... прошу прощения если что не так сказал...
Записан
bigboa
Гость
« Ответ #21 : Апрель 28, 2010, 14:35 »

я, коенчно, понимаю, что правильнее было бы меня отправить к мануалам, но беда со сроками, поэтому и решил задать вопрос на форуме.

Скачал и поставил qt-everywhere-opensource-src-4.6.2, поставил libqt4-dev.
Дальше делаю так:

/home/nick/Downloads/qt-everywhere-opensource-src-4.6.2/bin/qmake /home/nick/test/ScanDeamon/ScanDeamon.pro -spec /home/nick/Downloads/qt-everywhere-opensource-src-4.6.2/mkspecs/linux-g++

make
и в результате все тоже самое, опять не видит инклудов, как указать путь к правильным инклудам? Инклуды системы ему, видимо, не нравятся...
Записан
crossly
Гость
« Ответ #22 : Апрель 28, 2010, 14:41 »

о горе мне... Улыбающийся... если вы поставил libqt4-dev то qt-everywhere-opensource-src-4.6.2 не нужно.... просто
Код:
qmake 
make clean
make
Записан
bigboa
Гость
« Ответ #23 : Апрель 28, 2010, 19:48 »

Проблему решил. Переставил систему, поставил libqt4-dev, qt creator, скомпилировал программу, скопировал бинарник на тестовую систему и все работает на УРА!!!

Спасибо всем кто отвечал  Улыбающийся
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.051 секунд. Запросов: 21.