我需要在我的C程序中使用erl_interface .上有Erlang R15B01。
我只执行以下操作(例如)。
// main.c
#include <ei.h>
#include <erl_interface.h>
int main() {
erl_init(NULL,0);
return 0;
}然后我说:
cc -I/usr/lib/erlang/lib/erl_interface-3.7.7/include -L/usr/lib/erlang/lib/erl_interface-3.7.7/ -lei -lerl_interface -o prog main.c指定为-L的目录包含libei.a和liberl_interface.a,但引用erl_init的链接器未定义:undefined reference to erl_init
可能出了什么问题?很抱歉问了个愚蠢的问题。
发布于 2013-01-06 20:45:36
最新版本的GNU工具链要求以相同的顺序指定对象文件和库,它们的符号相互依赖。因此,您通常应该将库标志放在调用的末尾,如下所示的:
gcc -o prog main.c -L<libdir> -I<includedir> -lerl_interface -leihttps://stackoverflow.com/questions/14185290
复制相似问题