使用MRuby编译Contiki应用程序

使用MRuby编译Contiki应用程序,c,makefile,contiki,mruby,C,Makefile,Contiki,Mruby,我正在尝试编译一个包含MRuby库并执行一些简单ruby代码的Contiki应用程序。问题是,我不知道如何在编译中包含MRuby库 以下是项目: 我要执行的代码位于contiki mruby example.c中。问题可能出在Makefile中。这就是我目前拥有的: CONTIKI_PROJECT = contiki-mruby-example all: $(CONTIKI_PROJECT) CONTIKIDIRS += mruby/include CFLAGS += -v CFLAGS +

我正在尝试编译一个包含MRuby库并执行一些简单ruby代码的Contiki应用程序。问题是,我不知道如何在编译中包含MRuby库

以下是项目:

我要执行的代码位于
contiki mruby example.c
中。问题可能出在
Makefile
中。这就是我目前拥有的:

CONTIKI_PROJECT = contiki-mruby-example
all: $(CONTIKI_PROJECT)

CONTIKIDIRS += mruby/include

CFLAGS += -v
CFLAGS += -Imruby/include

CONTIKI = contiki
include $(CONTIKI)/Makefile.include
我在执行
make
时出现以下错误:

ld: can't map file, errno=22 file 'mruby/include' for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
我要包含的MRuby代码位于
MRuby/include

这是一个类似的问题: 但是使用
TARGET\u LIBFILES
LDFLAGS
没有帮助。我想这是因为我在编译简单的源代码,而不是库


也许有一个简单的答案我没有找到。谢谢你的建议。

谢谢@kfx的评论,你说得对,我应该在Makefile中链接库

只是为了帮助可能有此问题的其他人:

  • 转到mruby子文件夹并执行
    make
  • 将此添加到Makefile:
    TARGET_LIBFILES+=mruby/build/host/lib/libmruby.a
  • 我已经用修复程序更新了示例repo:

    您真的需要编译库吗?我通常会假设库与。如果要链接,请将libs添加到
    Makefile
    。如果要编译,请将源路径添加到
    CONTIKIDIRS
    ,并将.c文件列表添加到
    PROJECT\u SOURCEFILES