検索しても情報が出ないビルドエラーに遭遇しましたが、既存ファイルの削除で回避できました。
同じように詰まる人が居そうなので、情報を共有します。
遭遇したエラー
gatt_clientをmakeしようとしたら、下記のようなエラーが出ました。cd ~/esp/esp-idf/examples/bluetooth/gatt_client make LD gatt_client_demo.elf /home/asuki/esp/esp-idf/examples/bluetooth/gatt_client/build/freertos/libfreertos.a(tasks.o):(.literal.prvDeleteTCB+0x14): undefined reference to `vPortCleanUpTCB' /home/asuki/esp/esp-idf/examples/bluetooth/gatt_client/build/freertos/libfreertos.a(tasks.o): In function `prvDeleteTCB': /home/asuki/esp/esp-idf/components/freertos/./tasks.c:4421: undefined reference to `vPortCleanUpTCB' collect2: error: ld returned 1 exit status /home/asuki/esp/esp-idf/make/project.mk:322: ターゲット '/home/asuki/esp/esp-idf/examples/bluetooth/gatt_client/build/gatt_client_demo.elf' のレシピで失敗しました make: *** [/home/asuki/esp/esp-idf/examples/bluetooth/gatt_client/build/gatt_client_demo.elf] エラー 1
対応方法
esp-idfの更新
cd ~/esp/esp-idf git pull origin master git submodule update --recursive --remote
設定ファイルの削除
sdkconfig.defaultはプロジェクトの標準設定を指定するファイルなので、消してはいけません。
cd ~/esp/esp-idf/examples/bluetooth/gatt_client rm sdkconfig sdkconfig.old
build済みファイルの削除
cd ~/esp/esp-idf/examples/bluetooth/gatt_client rm -r build
上記の対応後にmakeを実行
cd ~/esp/esp-idf/examples/bluetooth/gatt_client make
ビルドに成功しました。
古い設定ファイルが悪さをしていたようです。
共有する情報は以上です。
変更履歴
2017/07/31submodule updateのコマンドに「--recursive --remote」のオプションを追加しました。
0 件のコメント :
コメントを投稿