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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: не работает UDP socket  (Прочитано 5044 раз)
oakim
Гость
« : Ноябрь 09, 2015, 15:47 »

Здравствуйте!  Помогите новичку! Создал приложение с udp клиентом. Все работает. Потом решил перенести клиент в отдельный обьект и поместить его в поток.
QT не хочет создавать мой обьект, выдает ошибку линковщика -
  LNK2019: ссылка на неразрешенный внешний символ "__declspec(dllimport) public: __thiscall QHostAddress::QHostAddress


Если обьект не создан, а просто объявлен  ошибок нет.
В про файле network  добавлен. Компилятор MSVC.

Из объекта временно убрал все чтобы, самому разобраться, все равно выдает ошибку.
Заголовочный
Код:
#ifndef TEST_H
#define TEST_H

#include <QObject>
#include <QtNetwork\QUdpSocket>
#define SERVERADDR "192.168.0.2"
#define PORTADDR 49152

class test:public QObject
{
     Q_OBJECT
public:   
    explicit test(QObject *parent = 0);
private:
    QUdpSocket *socket;
    QHostAddress qha;
};

#endif // TEST_H

cpp
Код:
#include "test.h"

test::test(QObject *parent):QObject(parent)
{
    this->qha =  QHostAddress(SERVERADDR);
    socket = new QUdpSocket(this);
    socket->bind(this->qha.AnyIPv4, PORTADDR);
}

Форма пока пустая.


Записан
torwig
Самовар
**
Offline Offline

Сообщений: 134



Просмотр профиля
« Ответ #1 : Ноябрь 10, 2015, 09:39 »

А #include <QtNetwork/QHostAddress> где?
Записан
oakim
Гость
« Ответ #2 : Ноябрь 10, 2015, 11:16 »

QHostAddress есть внутри Udpsocket. На всякий случай добавил - не помогает.
Записан
Bepec
Гость
« Ответ #3 : Ноябрь 10, 2015, 17:23 »

Clean solution
Build solution
При неработоспособности проверить по 3 раза правильность написания модуля в pro файле, или лучше загрузить полный код в компилябельном проекте нам.
Записан
oakim
Гость
« Ответ #4 : Ноябрь 11, 2015, 10:56 »

Очищать пробовал. У меня знакомый собирал мой проект и скидывал мне свой похожий - все работает. Скорее всего что-то не так с настрокой Creator, переменными средами или чем-то таким. Подскажите где копать, что может вызвать тот факт, что периодически перестают видеться добавленные файлы библиотек.
Записан
PimenS
Крякер
****
Offline Offline

Сообщений: 371


Просмотр профиля
« Ответ #5 : Ноябрь 11, 2015, 11:16 »

Что вы пытаетесь передать в bind?

Цитировать
this->qha.AnyIPv4

Там вроде нужно QHostAddress передавать.
Записан
oakim
Гость
« Ответ #6 : Ноябрь 11, 2015, 13:13 »

 Реализацию test с передачей адреса можно вообще убрать и ошибка остается той же - линковщик не находит  QHostAddress.
Записан
Bepec
Гость
« Ответ #7 : Ноябрь 11, 2015, 20:08 »

лучше загрузить полный код в компилябельном проекте нам.
Записан
oakim
Гость
« Ответ #8 : Ноябрь 12, 2015, 09:37 »

Код во вложении.
Записан
oakim
Гость
« Ответ #9 : Ноябрь 12, 2015, 16:55 »

Проблема решилась созданием переменной среды QTdir с правильным путем и последующим пересозданием проектов. Спасибо всем откликнувшимся.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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