【发布时间】:2023-03-27 02:28:01
【问题描述】:
当我尝试在我的 C++ 类中使用 libssh2 时,我不断收到以下错误:
未定义对“libssh2_session_init_ex”的引用 未定义对“libssh2_session_startup”的引用如果我使用 C 做同样的事情,一切都会正常。
有什么帮助吗?
以下是构建命令
g++ -Wall -g -I/libssh2-1.2.4/src -I/libssh2-1.2.4/include -L/libssh2-1.2.4/src/obj -L/openssl-0.9.8k/ -L/SecuritySDK/3.0.13/RC/LATEST/security/lib -lssh2 -ldl -lnsl -lresolv -lhash -lhandlers -lcrypto -lssl -lz -lbpwp3 rhost.o rpipe.o rutils.o -o rpipe
下面是类成员函数
void rhost::InitSession()
{
m_session = libssh2_session_init();
if ( libssh2_session_startup(m_session, m_sock) )
{
fprintf (stderr, "Failure establishing SSH session\n");
exit(-1);
}
return;
}
是的平台是linux
【问题讨论】:
-
听起来你没有链接到正确的库。
-
向我们展示您的一些 C++ 代码(尤其是调用无法链接的函数的部分)。另外,你用的是Linux吗?哪个发行版/版本?