4

标题或多或少描述了我在 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

有什么我做错了吗?

谢谢!

4

3 回答 3

2

I still can't figure out why the file isn't created, but it is not really necessary, since removing the following #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

and simply replacing (on linux) with:

#include <sys/socket.h>
#include <netinet/in.h>
#include <unistd.h>
#include <arpa/inet.h>

as well as removing the rest of #ifdefs in the code solves the problem.

于 2013-10-10T09:13:54.433 回答
1

libssh2_config.h 在示例目录中,您需要复制到您的项目中。

于 2014-02-24T08:45:34.333 回答
0

win32 目录、vms 目录和 os400 目录中有 libssh2_config.h 文件。您需要将其中之一复制到您的项目中。

于 2021-04-13T11:37:15.363 回答