1

このプログラムをコンパイルしようとしています

#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

ご協力いただきありがとうございます!

4

1 に答える 1

3

このライブラリを使用していますか?

通常、ライブラリを使用する場合は、そのライブラリにリンクする必要があります。この場合:

gcc genietest.c -lgeniePi

デフォルトのメイクファイルは /usr/local/lib の下に libgeniePi.so をインストールするようです。そのパスがコンパイラのデフォルトの検索パスにない場合は、どこを探すかを指定する必要があります。

gcc genietest.c -L/usr/local/lib -lgeniePi
于 2013-10-30T18:15:40.923 に答える