コンパイラ名 : idl /usr/local/bin/idl, /usr/bin/idl など。
オプション: 例 idl --c++-skel --poa --no-boa RTCPackage.idl C++ で普通に使うにはこの程度で OK。
> idl -h unknown option: -h usage: idl [<options>] [<file>] possible <options> are: --help --version --config --feed-ir --feed-included-defs --do-not-feed-included-defs --no-exceptions --codegen-c++ --no-codegen-c++ --codegen-idl --no-codegen-idl --codegen-midl --no-codegen-midl --cpp < cpp > --c++-suffix <filename-suffix> --c++-impl --c++-skel --codegen-wsdl --no-codegen-wsdl --hh-suffix <filename-suffix> --relative-paths --emit-repoids --do-not-query-server-for-narrow --repo-id <repository-id> --name <filename-prefix> --wsdl-map <filename> --ifdef-prefix <prefix> --poa --no-poa --boa -- (deprecated) --no-boa --no-poa-ties --no-poa-stubs --pseudo --any --typecode --windows-dll <dll-prefix> --windows-dll-with-export <dll-prefix> --mico-core --gen-included-defs --gen-full-dispatcher --missing-nscorba --not-missing-nscorba --support-id --dont-support-id --wsi-wsdl --no-wsi-wsdl --include-prefix <include-prefix>
gperf 問題 gperf は TAO 付属の gperf を使う必要あり。FreeBSD では /usr/bin/gperf (システムに付属か?)と /usr/local/bin/gperf (TAO 付属) がある。 デフォルトでは $ACE_ROOT/bin/gperf を使うため、環境変数ACE_ROOTを設定するか、オプション -g <gperf_path> を設定する必要がある。
TAO_ROOT 環境変数 TAO_ROOT が設定されていないと TAO が提供する IDL を読み込めない。 さらに、TAO の ORB の IDL (ex. /usr/local/include/tao/orb.idl) をインクルード
#include <orb.idl>
#ifdef TAO_IDL #include <orb.idl> #endif
コンパイラ名 : orbit-idl-2 ORBit はデフォルトでは C言語でコーディングすることになっている。
Usage: orbit-idl-2 [-D|-define STRING] [-I|-include STRING] [--libIDL-version] [-v|--version] [-l|--lang STRING] [-d|--debug INT] [--idlwarnlevel=INT] [--showcpperrors] [--nostubs] [--noskels] [--nocommon] [--noheaders] [--noidata] [-i|--imodule] [--add-imodule] [--skeleton-impl] [--backenddir=DIR] [--c-output-formatter=PROGRAM] [--onlytop] [--pidl] [--nodefskels] [--deps=FILENAME] [--headerguardprefix=STRING] [--output-dir=STRING] [-?|--help] [--usage] <IDL files>
orbit-idl-2 RTCPackage.idl orbit-idl-2 -lcpp RTCPackage.idl
これにより、
RTCPackage-common.c RTCPackage.h RTCPackage-cpp-common.cc RTCPackage-cpp-common.h RTCPackage-cpp-skels.cc RTCPackage-cpp-skels.h RTCPackage-cpp-stubs.cc RTCPackage-cpp-stubs.h RTCPackage-cpp.cc RTCPackage-cpp.h
struct ComponentProfile { PortProfileList inport_profile_list; PortProfileList outport_profile_list; ServiceProfileList service_profile_list; ServiceProfileList consumer_profile_list; RTC parent; RTCList children; // × typedefしたObject ref のsequenceはだめ sequence<RTC> children; // × typedefは関係ない sequence<RTC,100> children; // × bounded sequence もだめ sequence<short> children; // ○ Object ref でなければOK };
モーションエディタ/シミュレータ
動力学シミュレータ
統合開発プラットフォーム
産総研が提供するRTC集
東京オープンソースロボティクス協会
ネットワーク分散環境でデータ収集用ソフトウェアを容易に構築するためのソフトウェア・フレームワーク
MICO IDL
コンパイラ名 : idl /usr/local/bin/idl, /usr/bin/idl など。
オプション: 例 idl --c++-skel --poa --no-boa RTCPackage.idl
C++ で普通に使うにはこの程度で OK。
改ページの^LがIDLソース中にあると受け付けない。(omniidl ではそのまま通すことが可能。)
TAO IDL
gperf 問題
gperf は TAO 付属の gperf を使う必要あり。FreeBSD では /usr/bin/gperf (システムに付属か?)と /usr/local/bin/gperf (TAO 付属) がある。
デフォルトでは $ACE_ROOT/bin/gperf を使うため、環境変数ACE_ROOTを設定するか、オプション -g <gperf_path> を設定する必要がある。
TAO_ROOT
環境変数 TAO_ROOT が設定されていないと TAO が提供する IDL を読み込めない。
さらに、TAO の ORB の IDL (ex. /usr/local/include/tao/orb.idl) をインクルード
ORBit2 idl
コンパイラ名 : orbit-idl-2
ORBit はデフォルトでは C言語でコーディングすることになっている。
これにより、