Пользователь и пароль для подключения 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 в классе, я могу создать его только внутри функции публикации.

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


person Erick    schedule 13.10.2016    source источник


Ответы (1)


Я столкнулся с этой проблемой и исправил ее, добавив свой собственный код в функции 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;
}
person ojathelonius    schedule 04.11.2016
comment
Извините, я не ответил вам раньше, я был занят другим делом. Я попробую это сделать и дам вам отзыв, если это сработает. - person Erick; 09.11.2016