2

MRuby ライブラリを含み、簡単な Ruby コードを実行する Contiki アプリケーションをコンパイルしようとしています。問題は、MRuby ライブラリをコンパイルに含める方法がわからないことです。

プロジェクトは次のとおりです: https://github.com/matus-tomlein/contiki-mruby-example/tree/wrong

実行したいコードは にあり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.

これは同様の質問です:外部ライブラリを 使用して、Contiki アプリケーションと一緒にコンパイルする方法 これは、ライブラリではなく、プレーンなソース コードをコンパイルしているためだと思います。TARGET_LIBFILESLDFLAGS

おそらく、私が見逃している簡単な答えがあるでしょう。提案をありがとう。

4

1 に答える 1

1

コメントをありがとう@kfx、Makefileでライブラリをリンクする必要があったのは正しかったです。

この問題を抱えている可能性のある他の人を助けるために:

  1. mruby サブフォルダーに移動して実行しますmake
  2. これを Makefile に追加します。TARGET_LIBFILES += mruby/build/host/lib/libmruby.a

サンプル リポジトリを修正して更新しました: https://github.com/matus-tomlein/contiki-mruby-example

于 2015-01-26T15:56:57.360 に答える