gcc 和 liboauth - 链接器找不到 oauth.h

gcc and liboauth - linker can't find oauth.h

我正在尝试将 liboauth 与 C 程序一起使用,使用 gcc 作为我的编译器,无论我尝试了什么,我总是收到错误 "ld: library not found for -loauth" 和 "clang: error: linker command failed with exit code 1"。

我通过“#include ”包含 header,我对 gcc 的 most-recent 调用如下所示:

gcc -Wall -lcurl -loauth -I /usr/local/include -v -o api api.c

现在,oauth.h 确实存在于 /usr/local/include 中,我假设 /usr/local/bin 中有一些 liboauth 文件(包括 liboauth.a)当我 运行 安装时被放置在那里。我承认我对 gcc 和编译 non-trivial C 程序不是很熟悉,但我能够在短短几分钟内让 libcurl 在全新下载上工作。我只是想不通 liboauth 是怎么回事。

提前致谢

如果您确定 liboauth 位于/usr/local/bin,请使用

gcc -Wall -L/usr/local/bin -I /usr/local/include -v -o api api.c -lcurl -loauth

最好将库放在命令的末尾,因为它们有一些重要的东西(它们可能相互依赖等)。

顺便说一下,您的库位于 /usr/local/bin 中很奇怪,因为 几乎总是存储在某些路径中,例如 /usr/*/lib。