Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обработка событий 
V
    Опции темы
kirufka
Дата 3.2.2009, 12:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 2.10.2008
Где: Москва

Репутация: нет
Всего: нет



Цитата(SABROG @ 2.2.2009,  23:04)
Цитата(pan2004 @ 2.2.2009,  22:47)
Цитата(kirufka @  2.2.2009,  22:27 Найти цитируемый пост)
g++ -Wl,-rpath,/usr/lib -o subjc subjc.o 

проблема судя по всему здесь, Q_OBJECT создает несколько виртуальных функций в классе, которые должны обрабатываться moc ом и потом должен получаться из них отдельный cpp и потом .o файл, подключения которого и не видно. Я уже сталкивался с таким поведением на линуксе, бага судя по всему в qmake. 
Что можно посоветовать... хз, попробуй вынести свой класс в отдельные файлы, разделив на .h и .cpp. Убери все остальные файлы, включая .pro, и сгенерируй все по новой.

Как раз поэтому существует техника, которая позволяет сначала запустить генератор .moc файла, прежде чем начать компиляцию. Что стоит сделать сейчас:


  • добавить эту строку в самый конец main.cpp
    Код

    #include "main.moc"


  • make clean

  • make release



Если ошибка останется, то: 


  • make clean

  • qmake

  • make release


И вправду добавление subjc.moc подействавало)) Всё компилится на ура)) Но только теперь при запуске того же кода получаю:
Код

[chak@myhost subjc]$ ./subjc 
QWidget: Must construct a QApplication before a QPaintDevice
Аварийный останов


Добавлено через 13 минут и 12 секунд
Хм, попытка не пытка, попробовал вот так сделать)
Код

int main( int argc, char **argv ){
    QApplication app( argc, argv );
     myDialog my;
     my.show();
}

При запуске из консоли сразу же завершается, но ошибок не выдает
PM MAIL Jabber   Вверх
pan2004
Дата 3.2.2009, 12:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 357
Регистрация: 28.7.2007

Репутация: 6
Всего: 9



kirufka, я ж тебе писал, что ты забыл не только QApplication, но еще и вызов app.exec().
Обычно делается так в main()
QApplication app(argc, argv);
...
return app.exec();


--------------------
Qt4/C++ fan
WinXP SP3: MSVC++2005 Qt4.5.1 Boost1.39
сыграем в дурака?
PM MAIL   Вверх
just_geek
Дата 3.2.2009, 12:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 309
Регистрация: 13.12.2007

Репутация: 7
Всего: 10



Код

int main( int argc, char **argv ){
    QApplication app( argc, argv );
     myDialog my;
     my.show();

     return app.exec(); // <--- ДОБАВИТЬ
}

PM MAIL   Вверх
kirufka
Дата 3.2.2009, 12:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 2.10.2008
Где: Москва

Репутация: нет
Всего: нет



И вправду, спасибо большое)) помечаю как solved. Насчет первой работы с QT могу сказать порадовало, надо разобраться, думаю ничего сложного не будет)
PM MAIL Jabber   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




[ Время генерации скрипта: 0.0723 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.