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もときどき気にしよう!
  • 上手く行かないときは、合ってそうでもチュートリアルと違うとこを同じにしてみよう!

Categories:

Tags:

No responses yet

コメントを残す

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

CAPTCHA