2016-10-13 4 views
0

Я реализую клиент для отправки данных через MQTT, и я использую библиотеки Paho MQTT C++. Теперь мне нужно добавить поддержку пользователя и пароль аутентификации и при попытке установить их так:Пользователь и пароль Paho MQTT C++ connection

std::string user = "user"; 
std::string password = "password"; 
mqtt::connect_options connOpts; 
connOpts.set_user_name(user); 
connOpts.set_password(password); 

и я получаю

неопределенная ссылка на MQTT :: connect_options :: set_user_name (станд : строка Const &)

но в заголовочном файле connection_options.h

/** 
* Sets the user name to use for the connection. 
* @param userName 
*/ 
void set_user_name(const std::string& userName); 

То же самое происходит с set_password (password);

Еще одна проблема, с которой я сталкиваюсь, заключается в том, что я не смог сохранить свою связь, потому что я не могу иметь объект mqtt :: async_client global в классе, я могу его создать только внутри функции публикации.

Заранее спасибо.

ответ

0

Я столкнулся с этой проблемой, и установил ее, добавив свой собственный код в set_user_name и set_password функции в connect_options.h (которые не инициализированы в любом другом файле в C++ обертки).

void set_user_name(const std::string& userName){ 
    const char * usr = userName.c_str(); 
    opts_.username = usr; 
} 


void set_password(const std::string& password){ 
    const char * pw = password.c_str(); 
    opts_.password = pw; 
} 
+0

Извините, что я не отвечал вам раньше, я был занят другими вещами. Я попробую это и дам вам отзывы, если он сработает. – Erick

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