我尝试使用erl_errno,如erlang文档中所述:http://erlang.org/doc/man/erl_error.html#。
但是,我在链接过程中遇到了一个未找到符号的问题。我在Mac上运行,这是程序链接的方式:
g++ -L/usr/local/lib/erlang/lib/erl_interface-3.9.3/lib -o "roserl" ./src/driver.o ./src/erl_bridge.o -lei -lm -lerl_interface
我已经与libei和liberl_interface建立了联系。还需要什么?
答案 0 :(得分:0)
这很奇怪,但您必须在标题中执行此操作:
#ifndef _REENTRANT
#define _REENTRANT /* For some reason __erl_errno is undefined unless _REENTRANT is defined */
#endif
#include "erl_interface.h"
#include "ei.h"
这解决了我的问题。现在我可以使用erl_errno
。