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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Qt & CMake & boost  (Прочитано 4556 раз)
RedDog
Гость
« : Май 22, 2014, 08:40 »

Понадобилось ацки смешать указанные средства.
После первого "смешивания" стало ругаться на Q_FOREACH.
Приписал в CMake флажок QT_NO_KEYWORDS, заменил signals -> Q_SIGNALS, slot -> Q_SLOTS
При этом перестал работать коннект сигналов-слотов. А именно: надо сконнектить QTcpSocket со своим слотом:
Код:
QObject::connect( &Socket, SIGNAL( readyRead() ), this, SLOT( SocketReadyRead() ) );
студия выдает:
Цитировать
error C2665: QObject::connect: ни одна из 3 перегрузок не может преобразовать все типы аргументов
Записан
RedDog
Гость
« Ответ #1 : Май 22, 2014, 16:12 »

Сам спросил, сам отвечаю:
Код:
QObject::connect( &Socket, &QTcpSocket::readyRead, this, &CTcpClient::SocketReadyRead );
Так собирается.
Записан
b-s-a
Гость
« Ответ #2 : Май 24, 2014, 15:51 »

У меня в такой же ситуации все работало после замены signals/slots на Q_SIGNALS/Q_SLOTS
Записан
alex312
Хакер
*****
Offline Offline

Сообщений: 606



Просмотр профиля
« Ответ #3 : Май 24, 2014, 17:36 »

Не знаю поможет или нет, но попробуйте спрятать boost от moc.
Код
C++ (Qt)
#ifndef Q_MOC_RUN
    ...
#endif
 
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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