-1

我正在尝试使用已安装在树莓派上的 libmbus 制作 C 程序。在我的/usr/lib 目录中,我有文件libmbus.so,在我的/usr/include 目录中,我有文件./mbus/mbus.h。

该程序如下所示:

#include <stdio.h>
#include <mbus/mbus.h>

int main(void)
{
    mbus_handle* MbusHandle;

    MbusHandle = mbus_connect_serial("/dev/ttyS1");

    return 0;
}

当我尝试运行“gcc main.cpp -lmbus”时,我得到:

main.cpp:(.text+0xe): undefined reference to `mbus_connect_serial(char const*)'

我试着跑

nm -D /usr/lib/libmbus.so

其中包括

00009930 T mbus_connect_serial

所以看起来函数 mbus_connect_serial 是 libmbus.so 的一部分。

在头文件中,函数 mbus_connect_serial 定义如下:

mbus_handle * mbus_connect_serial(const char * device);

我似乎无法弄清楚出了什么问题。谁能指导我正确的方向?

4

1 回答 1

0

如果你真的想创建一个c程序,重命名main.cppmain.c

于 2017-06-27T20:46:27.843 回答