ubuntu 16.04 IntelRealSense D 435 iを使用してrealsense ROSパッケージを呼び出す場合、symbol lookup errorとundefined symbolエラーの解決方法を報告する


ubuntu 16.04でIntelRealSense D 435 iを使用してrealsense ROSパッケージを呼び出すと、実行
roscore
roslaunch realsense2_camera rs_rgbd.launch
エラーが発生しました.エラーは次のとおりです./opt/ros/kinetic/lib/nodelet/nodelet: symbol lookup error : /home/xxx/catkin_ws/devel/lib//librealsense2_camera.so: undefined symbol : _ZN20ddynamic_reconfigure19DDynamicReconfigure16registerVariableIiEEvRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEET_RKN5boost8functionIFvSA_EEES9_SA_SA_
解決策:1)システム内のlibrealsense 2を検索するcamera.soの数sudo find/-name librealsense 2_camera.so 2)librealsense 2_が見つかったらcamera.soが異なるパスの下に複数のファイルが存在する場合、例えば:/home/xxx/catkin_ws/devel/lib/librealsense2_camera.so/opt/ros/kinetic/lib/librealsense2_Camera.so 3)これにより、/opt/ros/kinetic/lib/nodelet/nodelet/nodeletはどのライブラリファイルを参照してロードするか分からず、テストにより、nodeletはもともと/opt/ros/kinetic/lib/パスのlibrealsense 2_を参照していたことが分かった.camera.soファイルですが、/home/xxx/catkin_にリンクします.ws/devel/lib/パスの下のlibrealsense 2_camera.soファイル.4)削除/home/xxx/catkin_ws/devel/lib/パスの下のlibrealsense 2_camera.soファイル、再実行後、正常に戻ります.