テクノロジー

img_technologyTop01

製品をもっと詳しく知りたい方へ
技術研究所

ソースファイルを複数のディレクトリに分ける

EV3RTパッケージ β6-3以降、hrp2/sdk/workspaceディレクトリ以下にあるアプリケーションのディレクトリ内で、ソースファイル(app.hやapp.c)を複数のディレクトリに分けて管理できるようになりました。
(2017/05/12現在、EV3RTパッケージは、β7が最新です。)

 

EV3RTパッケージのダウンロードはこちら
http://dev.toppers.jp/trac_user/ev3pf/wiki/Download#ダウンロード

 

ここでは、EV3RTパッケージのサンプルプログラム「helloev3」を用いて、ソースファイルを複数のディレクトリに分ける方法を紹介します。

 

サンプルプログラム「helloev3」のディレクトリの中は、右図のようになっています。すべてのファイルが1つのディレクトリに収められています。

 

 

 

◇方法1:ヘッダファイルとソースファイルを分ける
(ヘッダファイルはapp.hなど拡張子がhのファイル、ソースファイルはapp.cなど拡張子がcのファイルを指します。)

 

アプリケーションディレクトリの中に、「include」と「src」という名称のディレクトリを追加します。「include」ディレクトリにはヘッダファイルを、「src」ディレクトリにはソースファイルを格納します。

 

 

このような構成のとき、「helloev3」ディレクトリ直下のファイルと、追加した2つのディレクトリ内のファイルを対象にビルドが実行されます。

 

 

◇方法2:ソースファイルを任意の名前の複数のディレクトリに分ける

 

アプリケーションディレクトリの中に、任意の名前のディレクトリを用意します。そこにソースファイルをわけて格納します。
例えば右図のようになります。

 

 

追加した任意の名前のディレクトリをビルドの対象とするためには、
/hrp2/sdk/common/Makefile.prj.common を修正します。

 

アプリケーションディレクトリ内のすべてのディレクトリのファイルを対象としてビルドするには、Makefile.prj.commonにAPPL_DIR += $(foreach dir,$(shell find $(APPLDIR) -type d),$(dir))を追加します。
アプリケーションディレクトリ内のすべてのファイルがビルド対象となります。

 

 

アプリケーションディレクトリ内の一部のディレクトリのファイルのみを対象としてビルドするには、Makefile.prj.commonにAPPL_DIR += $(foreach dir,$(shell find $(APPLDIR) -type d -name ディレクトリ名),$(dir))を追加します。例えば下図のようになります。

 

 

この例の場合、「helloev3」ディレクトリ直下のファイルと、「src1」・「src2」ディレクトリ内のソースファイルはビルドの対象になりますが、「src3」ディレクトリ内のソースファイルは無視されます。

(2016/05/12現在)

お問い合わせ

CONTACT

株式会社アフレル

本社/カスタマーセンター

〒918-8231 福井市問屋町3-111
TEL.0776-25-0303 FAX.0776-25-0309 info@afrel.co.jp
カスタマーセンター電話受付  9:30-17:30 (土日・祝日・年末年始を除く) MAP

東京支社

〒103-0001
東京都中央区日本橋小伝馬町2-8 新小伝馬町ビル5F
TEL.03-6661-9251 FAX.03-3249-3741 MAP

大阪事業所

〒532-0011
大阪府大阪市淀川区西中島3-7-8 NLC新大阪17号館302
TEL.06-4805-8788 FAX.06-4805-8789 MAP
  • 正規代理店

    LEGO education logo

  • PITSCO logo

  • NI logo

  • virtual robotics toolkit logo

資料内容の無断転載、複製を禁じます。
製作・著作 株式会社アフレル

Copyright 2017 Afrel Co.,Ltd. All Rights Reserved.

© LEGO, the LEGO logo, MINDSTORMS and the MINDSTROMS logo are trademarks of the LEGO Group.
© 2017 The LEGO Group.
レゴ、レゴのロゴマーク、レゴ マインドストームは、 レゴグループの登録商標です。