аутентификация — Paho MQTT C ++ соединение пользователя и пароль

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

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 (std: string
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 (пароль);

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

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

0

Решение

Я столкнулся с этой проблемой и исправил ее, добавив свой собственный код в set_user_name а также Установка пароля функции в 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

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]