Ошибка поиска символа: неопределенный символ

Я пытаюсь использовать libssh с C ++-оболочкой libsshpp.hpp (он упакован из libssh.h, библиотек libssh, написанных на C). Сначала я пытаюсь сделать код из libsshpp.cpp в каталоге примеров g++ -o sshpp libsshpp.cpp -lssh

#include <iostream>
#include <string>
#include <libssh/libsshpp.hpp>

int main(int argc, const char **argv){
ssh::Session session;
try {
if(argc>1)
session.setOption(SSH_OPTIONS_HOST,argv[1]);
else
session.setOption(SSH_OPTIONS_HOST,"localhost");
session.connect();
session.userauthPublickeyAuto();
session.disconnect();
} catch (ssh::SshException e){
std::cout << "Error during connection : ";
std::cout << e.getError() << std::endl;
}
return 0;
}

сборка успешна, но когда исполняется sshpp, выдает ошибку: ./sshpp: symbol lookup error: ./sshpp: undefined symbol: ssh_userauth_publickey_auto,

Я смотрю в libsshpp.cpp:

  int userauthPublickeyAuto(void){
int ret=ssh_userauth_publickey_auto(c_session, NULL, NULL);
ssh_throw(ret);
return ret;
}

и в libssh.h:

LIBSSH_API int ssh_userauth_publickey_auto(ssh_session session,
const char *username,
const char *passphrase);

Надеюсь, что любой, кто имел опыт работы с libssh, может помочь

0

Решение

«Ошибка поиска символа» означает, что исполняемый файл ищет объектный код для этого метода и не может его найти.

Попробуй это:
g ++ -o sshpp libsshpp.cpp -L<«путь к libssh»> -lssh

0

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

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

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