首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用gcc在Windows 10上找不到libssh/libssh.h

使用gcc在Windows 10上找不到libssh/libssh.h
EN

Stack Overflow用户
提问于 2018-02-06 18:47:39
回答 1查看 1.2K关注 0票数 0

我试图在Windows 10上和gcc一起使用libssh。这项工作是在命令行完成的。

我不知道如何使libssh/成为搜索路径的一部分。

#include是libssh/libssh.h,,但失败了。(括号从这句话中删除。)

代码语言:javascript
复制
#include <libssh.h> 
#include <stdlib.h>
int main()
{
  ssh_session my_ssh_session = ssh_new();
  if (my_ssh_session == NULL)
    exit(-1);
  ...
  ssh_free(my_ssh_session);
}

当我将语句修改为时,libssh.h并在命令行中使用以下内容:

gcc -IC:\libssh\include\libssh ssh.c -oout.exe

它可以通过未找到的libssh.h文件。

但是,没有找到其他被调用的文件,如libssh/legacy.h

如何使libssh成为搜索路径的一部分?

我将c:\libssh\include\libssh添加到环境路径中。那不管用。

EN

回答 1

Stack Overflow用户

发布于 2018-02-20 08:22:32

您需要让#include <libssh/libssh.h>,因为libssh.h调用一个标头legacy.h,它也位于libssh文件夹中,所以如果直接放置报头libssh.h,它将无法找到legacy.h。

代码语言:javascript
复制
#include <libssh/libssh.h> 
#include <stdlib.h>
int main()
{
  ssh_session my_ssh_session = ssh_new();
  if (my_ssh_session == NULL)
    exit(-1);
  // remove the dots it'll create an error
  ssh_free(my_ssh_session);
}

要使libssh成为路径的一部分,您应该执行gcc -i/ path / to /libssh/include/目录-L/path/to/libssh/lib/ -lssh ssh.c oout.exe

我也被困在了这个问题上,现在我面临另一个问题,就是将libssh.dll或ssh.dll链接到编译的代码中以作为独立使用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48649892

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档