ROSでc++の共有メモリをリンクさせるには？


現在、Ubuntu
18.04上で、melodicを使用して、ROSのテストプログラム開発をはじめまして、まだ初心者ですがGoogleを検索しながら進めております。他者から参考となるプログラムを(C++)を入手しそれに追加でshm_open()関数を追加して共有メモリでGUIアプリと連携しようとしています。ですが、catkin_makeで下記のエラーが出てしまいます。Includeは通っているので多分、target_link_librariesで失敗しているものと想定しております。

[code]

    [ 96%] Built target img_node
    /usr/bin/ld: CMakeFiles/parking_control.dir/src/parking_control.cpp.o: シンボル 'shm_open@@GLIBC_2.2.5' への未定義参照です
    //lib/x86_64-linux-gnu/librt.so.1: error adding symbols: DSO missing from command line
    collect2: error: ld returned 1 exit status
    carrier/carrier_parking/CMakeFiles/parking_control.dir/build.make:495: recipe for target '/home/texeng/catkin_ws/devel/lib/carrier_parking/parking_control' failed
    make[2]: *** [/home/texeng/catkin_ws/devel/lib/carrier_parking/parking_control] Error 1
    CMakeFiles/Makefile2:6774: recipe for target 'carrier/carrier_parking/CMakeFiles/parking_control.dir/all' failed
    make[1]: *** [carrier/carrier_parking/CMakeFiles/parking_control.dir/all] Error 2
    Makefile:140: recipe for target 'all' failed
    make: *** [all] Error 2
    Invoking "make -j8 -l8" failed
    
[/code]

このshm_open()をリンクさせる方法についてご教授をお願いできませんでしょうか？  
素のソースコードをコンパイルする場合は、"g++ -o myshm mushm.cpp
-lrt"でコンパイル出来ており、このコンパイルオプション"-lrt"=RealtimeExtensions
libraryをROSのCMakeLists.txtでどう書いたら良いか分かりません。お手数をおかけしますが教えて頂きたくお願い致します。




# オイラは `cmake` 素人なので間違ってたらごめん

<https://stackoverflow.com/questions/31147129/> によると `shm_open()` は `librt.a`
ないし `librt.so` にあるはずなので

[code]

    TARGET_LINK_LIBRARIES(my_app ${Boost_LIBRARIES} rt)
    
[/code]

のように `rt` を `target_link_libraries` の末尾に追加で行けるとのこと。

うん？ということは `add_library` のほうがかっこいいのではないか？（未テスト）

