【发布时间】:2016-03-23 03:31:50
【问题描述】:
我已经按照说明安装了 libssh,尽管一切似乎都正常,但我的编译器仍然在“#include”行中返回错误“找不到文件”。我猜它与目录或链接有关(我在下载它的同一个文件夹中有“make install”)但我不知道应该把它放在哪里,所以我可以在任何项目中#include 它。
我是这样安装的: 我下载了它并将其解压缩到我的桌面(Mac)上的文件夹“libssh”中。
然后我做了
cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debug ..
make
最后:
sudo make install
然后在我的程序中:
#include <libssh/sftp.h>
XCode 返回:“找不到 libssh/sftp.h 文件”。我尝试将桌面中的libssh文件夹添加到项目中,但我仍然遇到类似的问题。
我想我应该(以某种方式)将它安装到 /usr/include 文件夹中,以便任何项目都可以使用它(如 pthread 或许多其他项目),但我不知道该怎么做。
如果我在 /usr/include 中包含任何其他文件,它可以正常工作(例如),但是当我 #include 时它返回文件未找到,即使我 cd 到 /usr/include/libssh 文件 libssh.h 确实存在.
这是非常简单的示例代码:
#include <stdio.h>
#include <pthread.h> //OK
#include <libssh/libssh.h> //Not OK, file not found.
int main(int argc, const char * argv[])
{
printf("Hello World!");
return 0;
}
【问题讨论】:
-
@ckruczek 我下载了它并将其解压缩到我桌面上的文件夹“libssh”中。然后我做了(|| 表示新行):“cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debug ..” || “make”,最后:“sudo make install”
-
所以请提供您尝试编译的代码以及编译器抛出的错误消息......请提供尽可能多的信息来帮助您。
-
好的,你如何编译你的测试程序。伙计,您必须向我们提供帮助您所需的所有信息。每件小事都问你有点烦人。
-
@ckruczek 对不起,我不明白你的意思。我只是按“播放”。如果我在 /usr/include 中包含任何其他文件,它工作正常(如
)但是当我 #include 它返回文件未找到,即使我 cd 到 /usr/include /libssh 文件 libssh.h 确实存在。 -
是的......你只需按“播放”......这让我更加困扰......所以没有任何关于你如何编译的提示,我无法帮助你。您是否在链接过程中包含了该库?
gcc -lssh test.c -o test.o或类似的东西?