Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

クロスプラットフォームなモンで「/usr/bin/ld: cannot find」と言われた場合はCMakeの記述が足りてないのかおも

野良で出てるROSの環境で、検証が十分でないものの場合
クロスプラットフォームなモンで「/usr/bin/ld: cannot find」と言われた場合はCMakeの書き方が甘いのかも


実際のところ

export LD_LIBRARY_PATH=~/catkin_ws/src/unitree_ros/unitree_legged_control/lib:${LD_LIBRARY_PATH}
/usr/bin/ld: skipping incompatible /home/shuzo/catkin_ws/src/unitree_ros/unitree_legged_control/lib/libunitree_joint_control_tool_arm64.so when searching for -lunitree_joint_control_tool_arm64
||

amd64ではやっているけど、arm64などでビルドしているわけもなく……とはいえ一応実行対象はARMだし、そんなこともあるのかと一度は納得しました。
……が、探せど探せどそれらしい記述は見つからず。

最後の手段とCMakeを弄りsoファイルのリンクをamd64版にしたら通りました。
実行しても特に問題なし。
まぁ、大々的に展開されてるわけでもないリポジトリだとこんなもんですかね……。


* 参考もと