소스로부터 빌드(Windows)

OpenRTM-aist 본체를 수정한 후에 Windows상에서 사용하고 싶은 경우는 Windows용 소스 패키지를 스스로 빌드 할 수 있습니다. 여기에서는 다운로드 페이지나 리포지터리에서 소스를 취득해 Windows상에서 OpenRTM-aist를 빌드하는 방법을 설명합니다.

Windows상에서의 OpenRTM-aist의 빌드는, 환경의 정비나 인스톨러의 작성등, Windows상에서의 여러가지 지식이 필요가 됩니다. 본문서는, Windows상에서의 프로그램 개발이나 배치·파일 등의 기본적인 지식이 있는 분을 대상으로 하고 있습니다.

Windows용 소스 코드

Windows 용의 OpenRTM-aist(C++버전) 소스 패키지는 Linux 용의 소스 와는 별도로 배포되고 있습니다. 소스 코드의 내용은 완전히 같습니다만, 이하의 부분에 차이가 있습니다.

  • 문자 코드 (Windows: Shift-JIS, Linux: EUC)
  • Visual Studio의 솔루션을 포함
  • Visual C++ 의 프로젝트 파일을 포함
  • msi 인스톨러 작성 환경을 포함

소스 코드의 구성

그림에 나타나듯이 오리지날은 subversion 리포지터리(repository)의 소스 코드에서 그 소스 코드로부터 Linux상에서,

  • Linux/Unix용 소스 코드 배포 패키지
  • Windows용 소스 코드 배포 패키지

의 2종류를 작성하는 구성이 되어 있습니다.

openrtm_src_dist_ko.png
OpenRTM-aist의 소스의 구성

리포지터리로부터 취득한 최신의 소스 코드를 Windows로 이용하는 경우는, 일단 Linux로 Windows용의 소스 코드를 생성할 필요가 있습니다.

빌드 환경

빌드에 필요한 환경, 라이브러리는 이하와 같습니다.

  • Visual C++
    • Visual C++ Express Edition에서도 이용 가능
  • omniORB

Visual C++/Visual Studio

Windows용의 바이너리를 빌드 하기 위해서는, Visual C++개발 환경이 필요합니다. 현재 대응하고 있는 Visual C++는 Visual C++ 2005 또는 2008만입니다. Visual C++ 2010은 프로젝트 변환 위저드로 빌드 할 수 있을 가능성 이 있습니다만, 의존 라이브러리인 omniORB도 자동 빌드 할 필요가 있기 때문에 시간이 걸립니다.

Visual C++ Express Edition는 Microsoft가 무료로 제공하는 C++의 개발 환경으로 MFC나 ATL 등은 사용할 수 없습니다만, Windows 어플리케이션(Win32 아플리케이션)- 을 개발할 수 있습니다. OpenRTM-aist를 이용한 컴퍼넌트 개발 에서도 MFC나 ATL등을 이용하지 않는 컴퍼넌트는 Visual C++ Express Edition 만으로 개발할 수 있습니다. 아래의 링크로부터 ISO 이미지를 다운 로드해 인스톨 한 다음, Microsoft Live ID를 취득해 라이센스 (무료)를 취득해 주세요.

omniORB

OpenRTM-aist 의 빌드에는 omniORB 의 라이 방어가 필요합니다. omniORB 은 이하의 링크로, source code 및 바이너리를 다운로드할 수 있습니다. 바이너리 패키지를 아래 링크로 다운로드하고, 적당한 장소 (이하에서는 C:distributionomniORB를 가정)에 전개해 주십시오.

msi omniORB 인스톨러

인스톨러는 이하의 작업을 실시합니다.

  • 디폴트의 인스톨 디렉토리는 C:\Program Files\omniORB\<version_number>
  • 인스톨 디렉토리에 소스, 헤더, 스크립트, LIB등을 복사
  • 환경 변수 PATHbin/x86_win32를 추가
  • 환경 변수 OMNI_ROOT에 인스톨 디렉토리를 세트

또한, 환경 변수의 어플리케이션에의 통지는 되지 않으므로 환경 변수의 갱 신을 유효하게 하려면 재기동해 주십시오. 또는, 「내 컴퓨터」→ 「속성」→「고급 시스템 설정」→「고급」탭의「환경 변수」로부터 환경 변수의 아무 항목이나 선택해 「편집」을 클릭해 편집 다이얼로그를 표시시켜, 그대로 아무것도 변경하지 않고 OK를 누르는 것으로, 셸에 환경 변수의 변수가 통지되어 그 셸로부터 새롭게 실행한 어플리케이션에서는 변경된 환경 변수가 유효하게 되지만 잘 모르겠다면 재기동하는 편이 무난합니다.)

환경 변수: OMNI_ROOT

상기의 msi 인스톨러 이외 방법으로 인스톨 했을 경우는 환경 변수 OMNI_ROOT를 설정할 필요가 있습니다. OMNI_ROOT 로 설정한 디렉토 리 이하는 이하와 같은 구조가 되어 있어야 합니다.

 <OMNI_ROOT>
  + bin
  |  + scripts
  |  + x86_win32
  + idl
  |  + COS
  + include
  |  + COS
  |  + omniORB4
  |  |  + internal
  |  + omnithread
  |  + omniVms
  |  + python1.5
  + lib
     + python
        + omniidl
        + omniidl_be
           + cxx
              + dynskel
              + header
              + impl
              + skel

WiX

WiX Windows Installer XML)는 Windows의 msi 인스톨러를 커맨드라 인 베이스의 툴군으로 작성하는 것을 목표로 하고 있는 오픈 소스의 프로젝트입니다.

OpenRTM-aist는 Windows용의 인스톨러를 WiX를 이용해 작성합니다. 인스톨러까지 작성하는 경우에는, WiX를 미리 인스톨 해주십시오.

Python

빌드 도중에 몇개의 Python 스크립트를 이용하므로 Python이 필요합니다. 아래의 사이트에서 최신의 것을 다운로드해 인스톨 해 주세요.

인스톨러를 기동하면, 위저드에서 몇가지 선택하는 부분이 있습니다만, 디폴트인 채로 인스톨 해주십시오.

OpenCV

Windows버전 OpenRTM-aist에서는 OpenCV를 이용한 샘플 컴퍼넌트가 포함되어 있기 때문에 OpenCV가 필요합니다. 현재로서는 OpenCV 1.0만 대응입니다.

여기에서 OpenCV의 인스톨러 OpenCV_1.0.exe를 다운로드합니다. OpenCV_1.0.exe를 실행하면 인스톨러가 기동하므로 지시에 따라서 인스톨합니다.

소스 패키지의 취득

우선 소스 코드 OpenRTM-aist-X.X.X-win32.zip 를 다운로드해, 적당한 디렉토리에 압축을 해제합니다.

배치파일의 수정

그대로는, RTSystemEditor의 RCP 패키지가 없기 때문에 인스톨러를 빌드 하는 도중에 에러가 발생합니다. 이하의 2종류의 방법중 하나를 선택해 주십시오.

  • installer/autowix.cmd를 수정
  • openrtm.org 배포의 msi 인스톨러로 인스톨 되는 RTSystemEditor를 C:\distribution에 복ㄱ사

installer/autowix.cmd 을 수정

installer/autowix.cmd 의 처음에 있는 RTSystemEditor 에 관한 부분을 이 아래와 같이 수정합니다.

 @rem ------------------------------------------------------------
 @rem Generate RTSystemEditor wxs file
 @rem
 @rem RTSystemEditorRCP.exe should be under %RTSE_ROOT%
 @rem
 @rem ------------------------------------------------------------
 @rem if "x%RTSE_ROOT%" == "x" (
 @rem    echo Envrionment variable "RTSE_ROOT" is not set. Abort.
 @rem    goto END
 @rem )
 @rem if not exist "%RTSE_ROOT%\RTSystemEditorRCP.exe" (
 @rem    echo RTSystemEditorRCP.exe does not found. Abort
 @rem    goto END
 @rem )
 set INCLUDE_RTSE=NO
 set INCLUDE_OPENRTP=NO

RTSystemEditor를 복사

openrtm.org에서 배포하고 있는 Windows용 인스톨러로 OpenRTM-aist를 인스톨 하면, 디폴트에서는 C:\Program Files\OpenRTP 이하에 RTSystemEditor의 RCP버전이 인스톨 됩니다. 또는, msi로부터 파일을 추출 툴등을 사용해 RTSystemEditor를 꺼냅니다. 이것을 C:\distribution 이하에 복사합니다.

 C:\distribution
      + OpenRTP
         + RTSystemEditor
             + configuration
             + NewProjectName
             + plugins
             + ...

이러한 구조로 되어 있어야 합니다.

빌드

이상의 환경이 준비되었다면, 빌드를 합니다. autobuild_vc8.bat(개발 환경이 VC2005의 경우) 혹은 autobuild_vc9.bat(같이 VC2008의 경우)를 더블 클릭 한 후 기동하면 자동으로 빌드가 시작됩니다.

또, 솔루션 파일(sln)로부터의 빌드도 가능합니다. OpenRTM-aist_vc8.sln (개발 환경이 VC2005의 경우) 혹은 OpenRTM-aist_vc9.sln (개발 환경이 VC2008의 경우)를 더블 클릭 해, 빌드 해 주십시오.

인스톨

정상적으로 빌드가 되었다면 다음을 실시해, 인스톨을 완료시킵니다.

  • 환경 변수 RTM_ROOT를 설정: OpenRTM-aist의 디렉토리를 환경 변수 RTM_ROOT로 설정해 주십시오.
  • DLL에 패스를 설정: DLL에 패스를 복사합니다. 혹은, 환경 변수 PATH에 %RTM_ROOT%\bin를 추가합니다.
  • 환경 변수 PATH의 설정: 환경 변수 PATH에%RTM_ROOT%\bin 뿐만이 아니라 %RTM_ROOT%\utils\rtc-template도 등록하는 것을 추천합니다.

이상으로, OpenRTM-aist의 인스톨은 종료입니다.

ダウンロード

最新バージョン : 2.0.1-RELESE

統計

Webサイト統計
ユーザ数:2160
プロジェクト統計
RTコンポーネント307
RTミドルウエア35
ツール22
文書・仕様書2

Choreonoid

モーションエディタ/シミュレータ

OpenHRP3

動力学シミュレータ

OpenRTP

統合開発プラットフォーム

産総研RTC集

産総研が提供するRTC集

TORK

東京オープンソースロボティクス協会

DAQ-Middleware

ネットワーク分散環境でデータ収集用ソフトウェアを容易に構築するためのソフトウェア・フレームワーク