操作
バグ #3977
完了IDLファイルのコンパイルが実行されずインクルードファイルのエラーが発生する問題
開始日:
2017/03/07
期日:
進捗率:
100%
予定工数:
説明
- 下記不具合対応のためテンプレートを修正する
https://github.com/Nobu19800/RobotArmController/issues/1
- 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})
操作