Russian Qt Forum

Qt => Работа с сетью => Тема начата: bvn13 от Февраль 07, 2010, 21:39



Название: ошибка: поле '...’ имеет неполный тип - что это?
Отправлено: bvn13 от Февраль 07, 2010, 21:39
Компиллирую исходник библиотеки QXmpp. Выскакивает вот такая ошибка:

Код
C++ (Qt)
.../source/QXmppStream.h:91: ошибка: поле ‘m_socket’ имеет неполный тип
 

подскажите, в чем может быть проблема?


Название: Re: ошибка: поле '...’ имеет неполный тип - что это?
Отправлено: BRE от Февраль 07, 2010, 21:41
Компиллирую исходник библиотеки QXmpp. Выскакивает вот такая ошибка:

Код
C++ (Qt)
.../source/QXmppStream.h:91: ошибка: поле ‘m_socket’ имеет неполный тип
 

подскажите, в чем может быть проблема?
Чуть выше, должно быть имя компилируемого файла (.cpp), добавь туда:
#include <QTcpSocket>


Название: Re: ошибка: поле '...’ имеет неполный тип - что это?
Отправлено: bvn13 от Февраль 07, 2010, 21:47
Чуть выше, должно быть имя компилируемого файла (.cpp), добавь туда:
#include <QTcpSocket>

не совсем понял, куда добавить... :(

у меня сначала выскочила ошибка:

Код:
.../source/QXmppStream.h:91: ошибка: ‘QSslSocket’ does not name a type

я вставил в самом начале, после всех #include строку:

Код:
class  QSslSocket;

после этого возникла ошибка, как в первом самом посте...


Название: Re: ошибка: поле '...’ имеет неполный тип - что это?
Отправлено: BRE от Февраль 07, 2010, 21:54
Компилятор выводит, какой файл он в данный момент компилирует. Это cpp файл.
Вот туда добавь:
#include <QSslSocket>


Название: Re: ошибка: поле '...’ имеет неполный тип - что это?
Отправлено: bvn13 от Февраль 07, 2010, 22:06
не помогло.

все ошибки:

Код:
.../source/QXmppClient.cpp:27: In file included from QXmppClient.cpp:27:
.../source/QXmppStream.h:91: ошибка: поле ‘m_socket’ имеет неполный тип

вот я в файл QXmppClient.cpp, до строки
Код:
#include "QXmppStream.h"
добавил строку
Код:
#include <QSslSocket>

и не помогло.

в файле  "QXmppStream.h" идет вот такое:

Код:
#include <QSslSocket>
...
class QSslSocket; // уже я вставил
...
class QXmppStream : public QObject
{
    Q_OBJECT
...
private:
...
QSslSocket m_socket;
...
}

как подправить?


Название: Re: ошибка: поле '...’ имеет неполный тип - что это?
Отправлено: BRE от Февраль 07, 2010, 22:17
В QXmppStream.h включается QSslSocket, поэтому декларировать класс QSslSocket нет нужды:
class QSslSocket;

А у тебя точно Qt собрана с потдержкой SSL?
У меня со сборкой проблем не возникло.


Название: Re: ошибка: поле '...’ имеет неполный тип - что это?
Отправлено: bvn13 от Февраль 07, 2010, 22:20
В QXmppStream.h включается QSslSocket, поэтому декларировать класс QSslSocket нет нужды:
class QSslSocket;

да вот и я думаю, что не должно быть проблем...

А у тебя точно Qt собрана с потдержкой SSL?
У меня со сборкой проблем не возникло.

хммм.... а вот и не знаю.... где можно нарыть дистрибутивчик для openSuse 4.6 полный? у меня с офф. сайта чего-то не собрался в свое время. я где-то в другом месте нарыл.


Название: Re: ошибка: поле '...’ имеет неполный тип - что это?
Отправлено: bvn13 от Февраль 07, 2010, 22:34
как правильно собрать Qt, чтобы задействовать все функции?


Название: Re: ошибка: поле '...’ имеет неполный тип - что это?
Отправлено: BRE от Февраль 07, 2010, 22:39
как правильно собрать Qt, чтобы задействовать все функции?
http://wiki.crossplatform.ru/index.php/Установка_Qt (http://wiki.crossplatform.ru/index.php/Установка_Qt)


Название: Re: ошибка: поле '...’ имеет неполный тип - что это?
Отправлено: bvn13 от Февраль 07, 2010, 22:40
как правильно собрать Qt, чтобы задействовать все функции?
http://wiki.crossplatform.ru/index.php/Установка_Qt

спс, ./configure --help помогло мне. :)


Название: Re: ошибка: поле '...’ имеет неполный тип - что это?
Отправлено: bvn13 от Февраль 07, 2010, 22:48
а, кстати, эта библиотека поддерживает работу с комнатами?