我正试图编译这个程序
#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不包括在内
我使用
make
sudo make install
谢谢你的帮助!
最佳答案
您正在使用this库吗?
一般来说,当你想使用一个库时,你需要链接到那个库。在这种情况下:
gcc genietest.c -lgeniePi
默认makefile似乎在/usr/local/lib下安装了libgeniePi.so,如果该路径不在编译器的默认搜索路径中,则需要告诉它查找位置:
gcc genietest.c -L/usr/local/lib -lgeniePi
关于c - 编译geniePi.h 4D系统,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19690671/