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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Что-то не понятное с консольным приложением Qt  (Прочитано 3100 раз)
BuRn
Гость
« : Сентябрь 28, 2014, 13:01 »

Существует консольное приложение с использованием QObject -ов, но происходит что - то не понятное. Есть main :
Код:
#include <QCoreApplication>
#include "serverwc.h"
#include <iostream>
#include <QtCore>
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    try{
        ServerWc serv;
        serv.start();
    }
    catch(WcError& e){
        std::cout<<e.getText().toStdString();
        exit(0);
    }
    return a.exec();
}
Вот про файл этого проекта:
Код:
QT       += core network
QMAKE_CXXFLAGS += -std=c++11
QT       -= gui

TARGET = ServerWc
CONFIG   += console
CONFIG   -= app_bundle

TEMPLATE = app


SOURCES += main.cpp \
    serverwc.cpp \
    handlerclientrequest.cpp

HEADERS += \
    serverwc.h \
    handlerclientrequest.h

win32:CONFIG(release, debug|release): LIBS += -L$$OUT_PWD/../errorLib/release/ -lerrorLib
else:win32:CONFIG(debug, debug|release): LIBS += -L$$OUT_PWD/../errorLib/debug/ -lerrorLib
else:unix: LIBS += -L$$OUT_PWD/../errorLib/ -lerrorLib

INCLUDEPATH += $$PWD/../errorLib
DEPENDPATH += $$PWD/../errorLib

win32:CONFIG(release, debug|release): LIBS += -L$$OUT_PWD/../protocolExchanged/release/ -lprotocolExchanged
else:win32:CONFIG(debug, debug|release): LIBS += -L$$OUT_PWD/../protocolExchanged/debug/ -lprotocolExchanged
else:unix: LIBS += -L$$OUT_PWD/../protocolExchanged/ -lprotocolExchanged -lprotobuf

INCLUDEPATH += $$PWD/../protocolExchanged
DEPENDPATH += $$PWD/../protocolExchanged
Все собрал, но при попытке запуска просто висит с сообщением типа "Запускается ...". Отладить тоже ничего не получается, ибо отладчик вовсе не запускается, висит на "Launched debugger". Если запускать приложение из консоли, то там оно просто висит. Добавил тестовый вывод в конструктор класса ServerWC, но при запуске и того сообщения в лог не получаю. Что делаю не так?
Записан
sergek
Гипер активный житель
*****
Offline Offline

Сообщений: 870


Мы должны приносить пользу людям.


Просмотр профиля
« Ответ #1 : Сентябрь 28, 2014, 13:12 »

м.б. здесь не хватает ServerWc?
Записан

Qt 5.13.0 Qt Creator 5.0.1
Win10, Ubuntu 20.04
BuRn
Гость
« Ответ #2 : Сентябрь 28, 2014, 13:34 »

м.б. здесь не хватает ServerWc?
Если вы про сам класс, то нет, он лежит рядом с main.cpp
Записан
alex312
Хакер
*****
Offline Offline

Сообщений: 606



Просмотр профиля
« Ответ #3 : Сентябрь 28, 2014, 13:43 »

измени код main так :
Код
C++ (Qt)
.....
QCoreApplication a(argc, argv);
int res = 0;
   try{
       ServerWc serv;
       serv.start();
       res = a.exec();
   }
.....
return res;
 
И почитай что-то про блоки кода и автоматическое удаление обьектов при выходе из блока.
Записан
BuRn
Гость
« Ответ #4 : Сентябрь 28, 2014, 17:53 »

измени код main так :
Код
C++ (Qt)
.....
QCoreApplication a(argc, argv);
int res = 0;
   try{
       ServerWc serv;
       serv.start();
       res = a.exec();
   }
.....
return res;
 
И почитай что-то про блоки кода и автоматическое удаление обьектов при выходе из блока.
К сожалению не помогло, что интересно, если в теле main убить все и оставить только int a=2; return 0; то ситуация аналогичная, отладчик цепляться не хочет. Хотя если в таком случае запускать из консоли, то оно хотя бы не виснет.
Поправка. Отладчиком цеплятся не удается, а вот приложение запустилось ок, порт открыля
« Последнее редактирование: Сентябрь 28, 2014, 17:56 от BuRn » Записан
navrocky
Гипер активный житель
*****
Offline Offline

Сообщений: 817


Погроммист


Просмотр профиля
« Ответ #5 : Сентябрь 30, 2014, 08:10 »

Отладчик не цепляется если сборка без отладочной информации. Проверь, все ли у тебя с этим в порядке, бинарь должен получаться большим.
Записан

Гугль в помощь
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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