libgpiod API 使用(Linux 共享库)

Bas*_*boy 3 c api embedded-linux dynamic-library gpio

有人对 libgpiod API 有经验吗?我已经在我的linux平台上安装了它,但无法调用它的库函数。

我安装的是:

git clone git://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git
cd libgpiod
./autogen.sh
make
make install
Run Code Online (Sandbox Code Playgroud)

之后,我在/usr/local/lib/中看到libgpiod.so库,在/usr/local/include/中看到gpiod.h(出于良好的考虑,我也运行了)。但是,当我尝试编译以下内容时:ldconfig

测试.c

#include <gpiod.h>

struct gpio_chip *chip;    

int main(void)
{
    chip = gpio_chip_open("/dev/gpiochip4");
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:undefined reference to 'gpiod_chip_open'

谁能帮我看看我哪里出了问题?

提前谢谢了!

Aze*_*eem 5

您错过了与标志链接的库-l

像这样编译它:

gcc -lgpiod test.c
Run Code Online (Sandbox Code Playgroud)

此外,如果 SO 文件是自定义文件,您可能还需要为其配置运行时路径。有关运行时共享对象位置的更多详细信息,请参阅此线程。