본 문서를 작성시 환경은 다음과 같다.
1. license를 요청한다.
2. Red Hat Enterprise 5.0 용 RTI DDS 바이너리를 받는다.
3. PATH를 설정한다.
다운로드한 RTI DDS의 압축을 해제한 디렉토리를 NDDSHOME 이란 환경 변수로 설정을 해주어야 하며, 각종 스크립트 사용을 위해, $NDDSHOME/scripts 를 PATH 환경 변수에 추가를 해주어야 한다.(항상 PATH지정후 에는 export를 잊지말자.)
3.1. NDDSHOME 환경 변수 생성
전 계정에 적용을 원한다면 /etc/profile에 추가를 하고, 특정 계정에 추가를 원한다면, ~/.bashrc 에 추가하도록 한다. 이메일로 수신한 라이센스 파일(license.dat)을 $NDDSHOME에 복사를 하거나, 실행 파일이 있는 디렉토리에 넣는다.
3.2. PATH에 scripts 폴더 추가
마찬가지로 PATH 환경 변수에 RTI DDS를 위한 실행 스크립트 경로를 추가한다.
4. 예제 만들기
4.1. IDL 만들기
HelloWorld.idl 파일을 다음과 같이 작성한다.
4.2. rtiddsgen 수행
-language 옵션으로 C++ 용 코드를 생성하게 하고, -example 옵션으로 i86Linux2.6gcc4.1.1 용 예제 publisher와 subscriber를 생성하게 한다.
자동 생성되는 파일 목록은 다음과 같다.
4.3. 빌드하기
자동 생성된 makefile_HelloWorld_i86Linux2.6gcc4.1.1로 빌드를 한다.
빌드된 결과물은 해당 디렉토리 밑에 objs/i86Linux2.6gcc4.1.1 에 생긴다.
4.4. 수행하기
publisher와 subscriber를 차례대로 수행한다. 오고가는 메시지들을 모니터링하기 위해 rtispy를 동시에 수행하였다. 수행결과는 아래와 같다.
- RTI DDS 4.4d
- Portable Ubuntu Linux Hardy 8.04
1. license를 요청한다.
- http://www.rti.com/ 에서 30일 Trial 라이센스를 요청한다.
- 라이센스 신청시 받는 이메일을 확인하여, 리눅스용 바이너리를 다운로드 받는다.
2. Red Hat Enterprise 5.0 용 RTI DDS 바이너리를 받는다.
- 설치한 환경은 Portable Ubuntu 8.04 버전이다.
- i86 gcc 4.1.1 용 버전을 받았다.(물론 x64용 리눅스 사용자는 x64용 바이너리를 받는다.)
3. PATH를 설정한다.
다운로드한 RTI DDS의 압축을 해제한 디렉토리를 NDDSHOME 이란 환경 변수로 설정을 해주어야 하며, 각종 스크립트 사용을 위해, $NDDSHOME/scripts 를 PATH 환경 변수에 추가를 해주어야 한다.(항상 PATH지정후 에는 export를 잊지말자.)
3.1. NDDSHOME 환경 변수 생성
전 계정에 적용을 원한다면 /etc/profile에 추가를 하고, 특정 계정에 추가를 원한다면, ~/.bashrc 에 추가하도록 한다. 이메일로 수신한 라이센스 파일(license.dat)을 $NDDSHOME에 복사를 하거나, 실행 파일이 있는 디렉토리에 넣는다.
NDDSHOME=RTI DDS 디렉토리루트
3.2. PATH에 scripts 폴더 추가
마찬가지로 PATH 환경 변수에 RTI DDS를 위한 실행 스크립트 경로를 추가한다.
PATH=$PATH:$NDDSHOME/scripts
4. 예제 만들기
4.1. IDL 만들기
HelloWorld.idl 파일을 다음과 같이 작성한다.
#define MAX_CHAR 100
struct HelloWorld
{
char name[MAX_CHAR];
};
struct HelloWorld
{
char name[MAX_CHAR];
};
4.2. rtiddsgen 수행
-language 옵션으로 C++ 용 코드를 생성하게 하고, -example 옵션으로 i86Linux2.6gcc4.1.1 용 예제 publisher와 subscriber를 생성하게 한다.
rtiddsgen -language C++ -example -i86Linux2.6gcc4.1.1 HelloWorld.idl
자동 생성되는 파일 목록은 다음과 같다.
HelloWorld.cxx
HelloWorld.h
HelloWorldPlugin.cxx
HelloWorldPlugin.h
HelloWorldSupport.cxx
HelloWorldSupport.h
HelloWorld_publisher.cxx
HelloWorld_subscriber.cxx
USER_QOS_PROFILES.xml
makefile_HelloWorld_i86Linux2.6gcc4.1.1
HelloWorld.h
HelloWorldPlugin.cxx
HelloWorldPlugin.h
HelloWorldSupport.cxx
HelloWorldSupport.h
HelloWorld_publisher.cxx
HelloWorld_subscriber.cxx
USER_QOS_PROFILES.xml
makefile_HelloWorld_i86Linux2.6gcc4.1.1
4.3. 빌드하기
자동 생성된 makefile_HelloWorld_i86Linux2.6gcc4.1.1로 빌드를 한다.
make -f makefile_HelloWorld_i86Linux2.6gcc4.1.1
빌드된 결과물은 해당 디렉토리 밑에 objs/i86Linux2.6gcc4.1.1 에 생긴다.
4.4. 수행하기
publisher와 subscriber를 차례대로 수행한다. 오고가는 메시지들을 모니터링하기 위해 rtispy를 동시에 수행하였다. 수행결과는 아래와 같다.