2

我尝试按照erlang文档中的描述使用erl_errno: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。还需要什么?

4

1 回答 1

3

这很奇怪,但您必须在标题中执行此操作:

#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.

于 2017-08-31T16:47:14.477 回答