2013-08-01 3 views
0

Я новичок в Qt (и C++). У меня есть простой вопрос: Что не так?QLocalServer - Справка для новичков

#include <QCoreApplication> 
#include <QtNetwork/QLocalServer> 

int main(int argc, char *argv[]) 
{ 
    QCoreApplication a(argc, argv); 

    QLocalServer* x = new QLocalServer(this); 
    return a.exec(); 
} 

Благодарим за совет.

ответ

1

Ваша проблема заключается в следующем (каламбур):

QLocalServer* x = new QLocalServer(this); 

this не действует за пределами нестатических функций-членов класса. main() не является функцией-членом, и поэтому this не существует. Вы можете передать NULL указатель вместо этого, чтобы показать, что объект не имеет родителя:

QLocalServer* x = new QLocalServer(NULL); 

Не забудьте добавить сетевой модуль в QT переменной вашего файла проекта. Например:

QT += OTHER_MODULES_YOU_USE_HERE network 
+0

Я попытался "NULL", и я получил другую ошибку: main.obj: -1: ошибка: LNK2019: неразрешенный внешний символ «__declspec (DllImport) общественности: __cdecl QLocalServer :: QLocalServer (класс QObject *) "(__imp _ ?? 0QLocalServer @@ QEAA @ PEAVQObject @@@ Z), на который ссылается функция main –

+0

Вам нужно связать с модулем QtNetwork. Вы делаете это, добавляя 'network' к переменной' QT' в файле проекта. Я обновил ответ. –

+1

@ DanielPokorný Тогда, пожалуйста, отметьте этот ответ как принято. –

Смежные вопросы