Gazeboのプラグイン作成のチュートリアルでハマったのでφ(..)メモメモ
このチュートリアルはGazeboを起動したらターミナルにHello Worldを出力するプラグインを作るものでした.
チュートリアルをコピペ!コピペ!コピペ!実行!
結果がおかしい、Hello Worldが出ない、–screenでもエラー出てない(´・ω・`)
何がおかしいかを色々みてみるとworldファイルを格納するディレクトリがworldsじゃなくて、worldになってました.エラー出せよ!
直して、実行!でも駄目(´・ω・`)(´・ω・`)
違いを血眼で探しましたが、見つかりませんでした.soファイルもbuildにちゃんと作成されてる。。。
残りの違いは、Docker環境で動かしていること、catkin_makeじゃなくてcatkin buildを使っていることくらい.だけど、それが問題か?という感じでした。
結果、悪かったのはcatkin buildを使っていることでした😂
よくよくbuild時の出力を見るとこんなWarningが出ていたんですね。
Policy CMP0054 is not set: Only interpret if() arguments as variables or keywords when unquoted. Run "cmake --help-policy CMP0054" for policy details. Use the cmake_policy command to set the policy and suppress this warning.
なんだかわかんないけど、policyに従ってない?
catkin_makeだと、そのようなWarningはなくて、ちゃんとHello Worldも出てきました。チュートリアルのCMakelistが駄目なのかな??
結論
- cakin_makeとcatkin buildはいろいろ違う
- Warningもときどき気にしよう!
- 上手く行かないときは、合ってそうでもチュートリアルと違うとこを同じにしてみよう!
No responses yet