标题或多或少描述了我在我的 Ubuntu 机器上遇到的问题。 按照说明中的说明,我按照以下步骤安装 libssh2:
./配置 制作 进行检查(所有 3 个测试均通过) sudo make install(由于权限问题,我必须使用 sudo)
然后我尝试使用 libssh2 页面中给出的一些示例,它们都具有以下内容:
#include "libssh2_config.h"
没有找到。在 usr/local/include 中创建了以下 3 个文件:
libssh2.h
libssh2_publickey.h
libssh2_sftp.h
我做错了什么吗?
谢谢!
最佳答案
我仍然无法弄清楚为什么没有创建文件,但这并不是真正必要的,因为删除了以下#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 解决了这个问题。
关于c++ - 安装 libssh2 时未创建 libssh2_config.h,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19288277/