2012-01-19 7 views
0

私はelライブラリでerlangでCコードを使用しようとしています。Erlang ei ei_decode_versionと他の関数定義されていない参照

は、私は自分のコードをビルドしてみてください。

-I/usr/local/lib/erlang/erts-5.8.5/include/ -I/usr/local/lib/erlang/lib/erl_interface-3.7.5/include -O2 -g3 -Wall -c -fmessage-length=0 

しかし、私はそのEI関数未定義の参照エラーが発生しました。

私の簡単なコード:

int main(void) { 
    ei_x_buff result; 
    ei_x_encode_atom(&result, "ok"); 
    return 0; 
} 

undefined reference to `ei_x_encode_atom' 

私はそれを修正するにはどうすればよいですか?

ありがとうございます。

答えて

1

未定義の参照はリンカーエラーです。つまり、コードをerl_interfaceライブラリにリンクする必要があります。

実際には、リンクするライブラリを指定するには、erl_interfaceライブラリの場所と-lオプションを指定するために-Lオプションを使用する必要があります。

ld -L/usr/local/otp/lib/erl_interface-3.2.3/lib \ 
      myprog.o -lerl_interface -lei -o myprog 

の種類(これは、ドキュメントからの例です)

関連する問題