NDSのMakefileでlibfatライブラリを使い、SDカード等の外部ファイルアクセスを有効にするための設定方法
2025年9月23日
※生成AIのたわごとかもしれません。実装にはご注意ください。
というのも、現状この外部ファイルを使うアプリの実装から大きく遠ざかっており、多分問題ないと思いますが’テストで外部辞書ファイルをつかった)今作ってるアプリにこのコードは使われておりません、ので注意を追記しました。
–/–/–/–
サンプルだとうまく行かなかったので困ってたが、なんとか解決した!!!!!
1. ライブラリのリンク順序
リンカのコマンドにおいて、ライブラリの指定順は非常に重要です。
依存される側(基本的な機能を提供する側)のライブラリは、依存する側(その機能を使う側)のライブラリよりも後に記述する必要があります。
libfatはlibndsの機能に依存しているため、必ず `-lfat` を `-lnds9` よりも先に記述します。
正しい例:
`... -lfat -lnds9`
誤った例:
`... -lnds9 -lfat`
2. Makefile内の具体的な記述
プロジェクトのMakefileにおいて、ターゲットの.elfファイルを生成する際のリンカコマンドを確認します。
例:
```makefile
$(BUILD)/$(TARGET).elf: $(OBJECTS)
$(CXX) $(LDFLAGS) -o $@ $^ -lfat -lnds9
“`
上記のように、オブジェクトファイル (`$^`) の後に `-lfat -lnds9` の順でライブラリをリンクします。
`LDFLAGS` に `-L/opt/devkitpro/libfat/lib` や `-L/opt/devkitpro/libnds/lib` のようなライブラリ検索パスが含まれていることも確認が必要です。