プロジェクト

全般

プロフィール

バグ #3977

完了

IDLファイルのコンパイルが実行されずインクルードファイルのエラーが発生する問題

n.kawauchi さんが7年以上前に追加. 7年以上前に更新.

ステータス:
終了
優先度:
通常
担当者:
対象バージョン:
開始日:
2017/03/07
期日:
進捗率:

100%

予定工数:

説明

  • Linux環境 + CMake3.7.2 で、サービスポート、独自データ型等でIDLファイルのコンパイルを必要とする場合に発生する
  • IDLコンパイルより前に実行ファイルのビルドを行おうとするためにインクルードファイルのエラーが発生するもの
  • RTC Builderで生成したsrc/CMakeLists.txt内で${PROJECT_NAME}Compの依存関係にALL_IDL_TGTが設定されていないことが原因
  • src/CMakeLists.txt へ add_dependencies(${PROJECT_NAME}Comp ALL_IDL_TGT) を追加すれば問題は解消した
  • ImageProcessingのImageCalibration(C++ RTC)では下記★を追加することで対応できた
    set_target_properties(${PROJECT_NAME} PROPERTIES PREFIX "")
    set_source_files_properties(${ALL_IDL_SRCS} PROPERTIES GENERATED 1)
    add_dependencies(${PROJECT_NAME} ALL_IDL_TGT)
    target_link_libraries(${PROJECT_NAME} ${OPENRTM_LIBRARIES} ${OpenCV_LIBS})
    
    add_executable(${PROJECT_NAME}Comp ${standalone_srcs}
      ${comp_srcs} ${comp_headers} ${ALL_IDL_SRCS})
    add_dependencies(${PROJECT_NAME}Comp ALL_IDL_TGT) ←★
    target_link_libraries(${PROJECT_NAME}Comp ${OPENRTM_LIBRARIES} ${OpenCV_LIBS})
    

他の形式にエクスポート: Atom PDF