NDSのMakefileでlibfatライブラリを使い、SDカード等の外部ファイルアクセスを有効にするための設定方法

※生成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` のようなライブラリ検索パスが含まれていることも確認が必要です。

wanderingdj
  • wanderingdj
  • 田上は文筆業、新田は配信業、にしざわはインターネットジャンキーと、名義をそれぞれ分けてます。
    最近は社会復帰しようとはげんでいる、障害手帳持ちのオジサンです。
    よろしくお願いします。

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA