

下記のように、コンパイラオプションによる事前定義マクロによって処理を分けたいです。

[code]

    #ifdef HOGE
      処理1
    #else
      処理2
    #endif
    
[/code]

SPRESENSE IDEの場合どのように行えば良いのでしょうか。  
SDKコンフィグの設定を見回したりしましたが、見つかりませんでした。  
どなたかご教授お願いいたします。

■環境  
PC：Ubuntu 18.04.4 LTS  
SDK：v2.0.1  
IDE：v1.2.0


CC BY-SA 4.0
2020-09-15T12:41:57.723
70413
2020-09-19T18:31:43.967
40647
question
spresense
SPRESENSEでの定義済みマクロの定義方法


spressenceというより、C言語の問題ですね

ふつうは、それようのヘッダファイルを作って、そこにコンパイルスイッチ用マクロを記述する、という方法を使います。

また、コンパイルオプションでそれぞれのマクロの定義を行う、という方法もありますね


CC BY-SA 4.0
2020-09-16T06:10:06.630
70436
2020-09-16T06:10:06.630
27481
70413
answer


Sony Spresense SDKではオーソドックスなMakefileが使われているようです。

  * [Spresense SDK スタートガイド (IDE 版)](https://developer.sony.com/develop/spresense/docs/sdk_set_up_ide_ja.html)
  * [Spresense SDK スタートガイド (CLI 版)](https://developer.sony.com/develop/spresense/docs/sdk_set_up_ja.html)

Makefileの一般的な記法はWeb上に豊富な情報源が多数あるので、そちらをあたってください。  
`HOGE`という名前を持つCのマクロ定数シンボルを定義したい場合、Makefile内で`CFLAGS`に`-D`オプションを追加することで、Cコンパイラに渡します。

[code]

    CFLAGS += -DHOGE
    
[/code]


CC BY-SA 4.0
2020-09-19T18:31:43.967
70545
2020-09-19T18:31:43.967
15413
70413
answer