我正在尝试使用已安装在树莓派上的 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);
我似乎无法弄清楚出了什么问题。谁能指导我正确的方向?