OpenRTM-aist 본체를 수정한 후에 Windows상에서 사용하고 싶은 경우는 Windows용 소스 패키지를 스스로 빌드 할 수 있습니다. 여기에서는 다운로드 페이지나 리포지터리에서 소스를 취득해 Windows상에서 OpenRTM-aist를 빌드하는 방법을 설명합니다.
Windows상에서의 OpenRTM-aist의 빌드는, 환경의 정비나 인스톨러의 작성등, 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-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를 취득해 라이센스 (무료)를 취득해 주세요.
OpenRTM-aist 의 빌드에는 omniORB 의 라이 방어가 필요합니다. omniORB 은 이하의 링크로, source code 및 바이너리를 다운로드할 수 있습니다. 바이너리 패키지를 아래 링크로 다운로드하고, 적당한 장소 (이하에서는 C:distributionomniORB를 가정)에 전개해 주십시오.
또한, 환경 변수의 어플리케이션에의 통지는 되지 않으므로 환경 변수의 갱 신을 유효하게 하려면 재기동해 주십시오. 또는, 「내 컴퓨터」→ 「속성」→「고급 시스템 설정」→「고급」탭의「환경 변수」로부터 환경 변수의 아무 항목이나 선택해 「편집」을 클릭해 편집 다이얼로그를 표시시켜, 그대로 아무것도 변경하지 않고 OK를 누르는 것으로, 셸에 환경 변수의 변수가 통지되어 그 셸로부터 새롭게 실행한 어플리케이션에서는 변경된 환경 변수가 유효하게 되지만 잘 모르겠다면 재기동하는 편이 무난합니다.)
환경 변수: OMNI_ROOT
상기의 msi 인스톨러 이외 방법으로 인스톨 했을 경우는 환경 변수 OMNI_ROOT를 설정할 필요가 있습니다. OMNI_ROOT 로 설정한 디렉토 리 이하는 이하와 같은 구조가 되어 있어야 합니다.
그대로는, 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 이하에 복사합니다.
OpenRTM-aist 본체를 수정한 후에 Windows상에서 사용하고 싶은 경우는 Windows용 소스 패키지를 스스로 빌드 할 수 있습니다. 여기에서는 다운로드 페이지나 리포지터리에서 소스를 취득해 Windows상에서 OpenRTM-aist를 빌드하는 방법을 설명합니다.
Windows상에서의 OpenRTM-aist의 빌드는, 환경의 정비나 인스톨러의 작성등, Windows상에서의 여러가지 지식이 필요가 됩니다. 본문서는, Windows상에서의 프로그램 개발이나 배치·파일 등의 기본적인 지식이 있는 분을 대상으로 하고 있습니다.
Windows용 소스 코드
Windows 용의 OpenRTM-aist(C++버전) 소스 패키지는 Linux 용의 소스 와는 별도로 배포되고 있습니다. 소스 코드의 내용은 완전히 같습니다만, 이하의 부분에 차이가 있습니다.
소스 코드의 구성
그림에 나타나듯이 오리지날은 subversion 리포지터리(repository)의 소스 코드에서 그 소스 코드로부터 Linux상에서,
의 2종류를 작성하는 구성이 되어 있습니다.
리포지터리로부터 취득한 최신의 소스 코드를 Windows로 이용하는 경우는, 일단 Linux로 Windows용의 소스 코드를 생성할 필요가 있습니다.
빌드 환경
빌드에 필요한 환경, 라이브러리는 이하와 같습니다.
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 인스톨러
인스톨러는 이하의 작업을 실시합니다.
또한, 환경 변수의 어플리케이션에의 통지는 되지 않으므로 환경 변수의 갱 신을 유효하게 하려면 재기동해 주십시오. 또는, 「내 컴퓨터」→ 「속성」→「고급 시스템 설정」→「고급」탭의「환경 변수」로부터 환경 변수의 아무 항목이나 선택해 「편집」을 클릭해 편집 다이얼로그를 표시시켜, 그대로 아무것도 변경하지 않고 OK를 누르는 것으로, 셸에 환경 변수의 변수가 통지되어 그 셸로부터 새롭게 실행한 어플리케이션에서는 변경된 환경 변수가 유효하게 되지만 잘 모르겠다면 재기동하는 편이 무난합니다.)
환경 변수: OMNI_ROOT
상기의 msi 인스톨러 이외 방법으로 인스톨 했을 경우는 환경 변수 OMNI_ROOT를 설정할 필요가 있습니다. OMNI_ROOT 로 설정한 디렉토 리 이하는 이하와 같은 구조가 되어 있어야 합니다.
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 을 수정
installer/autowix.cmd 의 처음에 있는 RTSystemEditor 에 관한 부분을 이 아래와 같이 수정합니다.
RTSystemEditor를 복사
openrtm.org에서 배포하고 있는 Windows용 인스톨러로 OpenRTM-aist를 인스톨 하면, 디폴트에서는 C:\Program Files\OpenRTP 이하에 RTSystemEditor의 RCP버전이 인스톨 됩니다. 또는, msi로부터 파일을 추출 툴등을 사용해 RTSystemEditor를 꺼냅니다. 이것을 C:\distribution 이하에 복사합니다.
이러한 구조로 되어 있어야 합니다.
빌드
이상의 환경이 준비되었다면, 빌드를 합니다. autobuild_vc8.bat(개발 환경이 VC2005의 경우) 혹은 autobuild_vc9.bat(같이 VC2008의 경우)를 더블 클릭 한 후 기동하면 자동으로 빌드가 시작됩니다.
또, 솔루션 파일(sln)로부터의 빌드도 가능합니다. OpenRTM-aist_vc8.sln (개발 환경이 VC2005의 경우) 혹은 OpenRTM-aist_vc9.sln (개발 환경이 VC2008의 경우)를 더블 클릭 해, 빌드 해 주십시오.
인스톨
정상적으로 빌드가 되었다면 다음을 실시해, 인스톨을 완료시킵니다.
이상으로, OpenRTM-aist의 인스톨은 종료입니다.