Erlang ei ei_decode_version и другие функции неопределенная ссылка - PullRequest
0 голосов
/ 19 января 2012

Я пытаюсь использовать C-код в erlang с библиотекой EI.

Я пытаюсь построить свой код с:

-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 Ответ

1 голос
/ 19 января 2012

неопределенная ссылка - ошибка компоновщика. Это означает, что вам нужно связать свой код с библиотекой erl_interface.

практически вам нужно использовать опцию -L, чтобы указать, где находится библиотека erl_interface, и опцию -l, чтобы указать библиотеку для ссылки.

Вид

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

(это пример из документации)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...