我试图在Windows 10上和gcc一起使用libssh。这项工作是在命令行完成的。
我不知道如何使libssh/成为搜索路径的一部分。
#include是libssh/libssh.h,,但失败了。(括号从这句话中删除。)
#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添加到环境路径中。那不管用。
发布于 2018-02-20 08:22:32
您需要让#include <libssh/libssh.h>,因为libssh.h调用一个标头legacy.h,它也位于libssh文件夹中,所以如果直接放置报头libssh.h,它将无法找到legacy.h。
#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链接到编译的代码中以作为独立使用。
https://stackoverflow.com/questions/48649892
复制相似问题