标题或多或少描述了我在Ubuntu机器上遇到的问题。我按照说明中给出的步骤安装了libssh2:
./configure make make check (所有3个测试都通过了) sudo make install (由于权限,我必须使用sudo )
然后,我尝试使用libssh2页面中给出的一些示例,它们都具有以下内容:
#include "libssh2_config.h"却找不到。在usr/local/include中创建以下3个文件:
libssh2.h
libssh2_publickey.h
libssh2_sftp.h我有什么地方做错了吗?
谢谢!
发布于 2013-10-10 17:13:54
我仍然不明白为什么没有创建这个文件,但这并不是真正必要的,因为删除了以下#ifdefs:
#ifdef HAVE_WINDOWS_H
#include <windows.h>
#endif
#ifdef HAVE_WINSOCK2_H
#include <winsock2.h>
#endif
#ifdef HAVE_SYS_SOCKET_H
#include <sys/socket.h>
#endif
#ifdef HAVE_NETINET_IN_H
#include <netinet/in.h>
#endif
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
#ifdef HAVE_ARPA_INET_H
#include <arpa/inet.h>
#endif并简单地将(在linux上)替换为:
#include <sys/socket.h>
#include <netinet/in.h>
#include <unistd.h>
#include <arpa/inet.h>除了删除代码中#ifdefs的其余部分之外,还解决了这个问题。
发布于 2014-02-24 16:45:34
libssh2_config.h在example目录中,您需要复制到您的项目中。
发布于 2021-04-13 19:37:15
在win32目录、vms目录和os400目录中有libssh2_config.h文件。您需要将其中一个复制到您的项目中。
https://stackoverflow.com/questions/19288277
复制相似问题