我正在尝试编译这个程序
#include <stdio.h>
#include <unistd.h>
#include <geniePi.h>
int counter = 0;
int main()
{
if (genieSetup ("/dev/ttyAMA0", 115200) < 0)
{
printf("Failed to connect");
}
for (;;)
{
counter++;
genieWriteObj (GENIE_OBJ_COOL_GAUGE, 0, counter) ;
sleep(10);
}
return 0;
}
我一直在运行命令
sudo gcc genietest.c
我一直收到错误
genietest.c:(.text+0x10): undefined reference to `genieSetup'
genietest.c:(.text+0x54): undefined reference to `genieWriteObj'
我觉得geniePi.h没有包括在内
我使用
在Pi目录下安装 make
sudo make install
感谢您的帮助!
答案 0 :(得分:3)
您使用的是this库吗?
通常,在想要使用库时,需要链接到该库。在这种情况下:
gcc genietest.c -lgeniePi
默认的makefile似乎在/ usr / local / lib下安装libgeniePi.so,如果该路径不在编译器的默认搜索路径中,则需要告诉它在哪里查看:
gcc genietest.c -L/usr/local/lib -lgeniePi