Project

General

Profile

バグ #3977

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

Added by n.kawauchi over 4 years ago. Updated over 4 years ago.

Status:
終了
Priority:
通常
Assignee:
Start date:
03/07/2017
Due date:
% Done:

100%

Estimated time:

Description

  • 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})
    

Associated revisions

Revision 698 (diff)
Added by ga over 4 years ago

Modified generated CMakeFile #3977

History

#1 Updated by ga over 4 years ago

  • Status changed from 新規 to 解決
  • % Done changed from 0 to 100

★の行を出力するように修正させて頂きました.r698

#2 Updated by n.kawauchi over 4 years ago

r702のソースからOpenRTPを生成し、独自データ型のサービスポートを持つmyImageCalibration(C++ RTC)を作成。
このRTCを Ubuntu14.04 + CMake3.7.2 の環境でビルドできることを確認しました。
ありがとうございました。

#3 Updated by n-ando over 4 years ago

  • Status changed from 解決 to 終了

Also available in: Atom PDF