本文介绍了libssh2和C ++的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
当我尝试在C ++类中使用libssh2时,始终出现以下错误:
When I try to use libssh2 in my C++ class, I keep getting the following errors:
undefined reference to `libssh2_session_init_ex'
undefined reference to `libssh2_session_startup'
如果我使用C做同样的事情,那么一切都会很好.
If I do the same thing using C, everything works fine.
有帮助吗?
以下是构建命令
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
Yes platform is linux
推荐答案
将呼叫更改为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 rhost.o rpipe.o rutils.o -o rpip -lssh2 -ldl -lnsl -lresolv -lhash -lhandlers -lcrypto -lssl -lz -lbpwp3
.
参数列表中库和目标文件的顺序很重要.在此处中阅读.
The order of libraries and object files in the parameter list matters. Read about it here.
这篇关于libssh2和C ++的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!