ncesnagoya / hakoniwa-zumosim

Arduino Zumo Robot simulator using TOPPERS/Hakoniwa
https://enpit-emb.nces.i.nagoya-u.ac.jp/
2 stars 0 forks source link

Docker環境でビルドした場合に、エラーしたファイルの位置がVSCodeからジャンプできない #2

Closed mitsut closed 11 months ago

mitsut commented 1 year ago

Docker環境でビルドエラーがでると次のようなフォルダ情報が表示される

In file included from /root/workspace/src/apl/main_task_body.cpp:39:
/root/workspace/src/apl/Operation.ino:62:22: error: no matching function for call to 'IZumoSerial::println()'
   62 |       Serial.println();  //改行
      |                      ^

/root/workspace/src/apl/Operation.ino はDockerでのビルドディレクトリだがこれはファイルパスが合わないのでVScodeからジャンプできない

mitsut commented 1 year ago

森さんからの提案 ローカルフォルダをDockerのイメージ先で合わせる方法

試してみました。
docker/dev/Dockerfile  の最後のCMDを外して、イメージ再構築。
コンテナのマウントディレクトリの変更。
diff --git a/docker/dev/env.bash b/docker/dev/env.bash
index 90ab10c..2191818 100644
--- a/docker/dev/env.bash
+++ b/docker/dev/env.bash
@@ -1,7 +1,7 @@
 #!/bin/bash

-export HOST_WORKDIR=`pwd`/workspace
-export DOCKER_WORKDIR=/root/workspace
+export HOST_WORKDIR=`pwd`
+export DOCKER_WORKDIR=`pwd`
3. bash docker/build.bash course_1
4. コンテナに入って、ディレクトリ移動
自分の場合はここ:/mnt/c/project/nagoya-univ/hakoniwa-zumosim/workspace/
5. 一旦、前回のデータを削除
rm -rf cmake-build/*
6. bash build.bash
こんな感じでWARNINGが出てきたので、クリック&ジャンプ成功。
/mnt/c/project/nagoya-univ/hakoniwa-zumosim/workspace/src/apl/main_task_body.cpp:20:20: warning: 'command' defined but not used [-Wunused-variable]
   20 | static const char *command = "rflflr.";