Название: Что-то не понятное с консольным приложением Qt
Отправлено: 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, но при запуске и того сообщения в лог не получаю. Что делаю не так?
Название: Re: Что-то не понятное с консольным приложением Qt
Отправлено: sergek от Сентябрь 28, 2014, 13:12
м.б. здесь не хватает ServerWc?
Название: Re: Что-то не понятное с консольным приложением Qt
Отправлено: BuRn от Сентябрь 28, 2014, 13:34
м.б. здесь не хватает ServerWc?
Если вы про сам класс, то нет, он лежит рядом с main.cpp
Название: Re: Что-то не понятное с консольным приложением Qt
Отправлено: alex312 от Сентябрь 28, 2014, 13:43
измени код main так : C++ (Qt) ..... QCoreApplication a(argc, argv); int res = 0; try{ ServerWc serv; serv.start(); res = a.exec(); } ..... return res;
И почитай что-то про блоки кода и автоматическое удаление обьектов при выходе из блока.
Название: Re: Что-то не понятное с консольным приложением Qt
Отправлено: BuRn от Сентябрь 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; то ситуация аналогичная, отладчик цепляться не хочет. Хотя если в таком случае запускать из консоли, то оно хотя бы не виснет. Поправка. Отладчиком цеплятся не удается, а вот приложение запустилось ок, порт открыля
Название: Re: Что-то не понятное с консольным приложением Qt
Отправлено: navrocky от Сентябрь 30, 2014, 08:10
Отладчик не цепляется если сборка без отладочной информации. Проверь, все ли у тебя с этим в порядке, бинарь должен получаться большим.
|