Windows

C++판

솔루션으로부터의 빌드 방법

 여기에서는, 솔루션 파일(.sln)로부터 빌드 하는 방법을 설명합니다.

개발 환경이 VC8(VC++2005)의 경우

1. rtm_config.vsprops의 준비
etc 폴더로부터 rtm_config_omni407.vsprops를 찾아, rtm_config.vsprops 라는 이름으로 같은 etc 폴더내에 카피한다.이 rtm_config.vsprops를, OpenRTM-aist_vc8.sln가 있는 폴더와 examples\USBCamera 폴더의 합계 2나 곳으로 한층 더 카피한다.
2. sln 를 더블 클릭 해 IDE를 기동
OpenRTM-aist_vc8.sln 를 더블 클릭 해 개발 환경을 기동한다.
3. 모든 것을 리비르드
개발 환경의 도구모음의 「빌드」→「배치 빌드」를 선택해, 「모두 선택」버튼으로 전부에 체크가 들어간 상태로 하고 나서, 「리비르드」버튼을 압하.

개발 환경이 VC9(VC++2008)의 경우

1. rtm_config.vsprops의 준비
::etc 폴더로부터 rtm_config_omni412.vsprops를 찾아, rtm_config.vsprops 라는 이름으로 같은 etc 폴더내에 카피한다.이 rtm_config.vsprops를, OpenRTM-aist_vc9.sln가 있는 폴더와 examples\USBCamera 폴더의 합계 2나 곳으로 한층 더 카피한다.
2. sln 를 더블 클릭 해 IDE를 기동
::OpenRTM-aist_vc9.sln 를 더블 클릭 해 개발 환경을 기동한다.
3. 모든 것을 리비르드
개발 환경의 도구모음의 「빌드」→「배치 빌드」를 선택해, 「모두 선택」버튼으로 전부에 체크가 들어간 상태로 하고 나서, 「리비르드」버튼을 압하.

다만, 샘플 RT컴퍼넌트 중 example\USBCamera는 개별적으로 빌드 할 필요가 있습니다.example\USBCamera를 빌드 하는 경우는,OpenCV의 인스톨 를 확인해,환경 변수 RTM_ROOT를 설정 하고 나서, 그 후에 USBCamera_vc8.sln 혹은 USBCamera_vc9.sln를 이용하고, 개발 환경을 기동해 빌드를 실시해 주세요.

응용프로그램 에러 「어플리케이션을 올바르게 초기화할 수 없었습니다.…」

 네임서버 기동하려고 하고, rtm-naming.bat를 실행하면, 상기와 같은 에러가 나오는 경우가 있습니다.이 에러는 기동 환경상에 VC++2005 라이브러리의 런타임 컴퍼넌트가 없기 위해(때문에) 일어납니다.VC++2005 관련의 개발 환경(Microsoft Visual Studio 2005,Visual C++ 2005 Express등)을 인스톨 하고 있지 않는 환경에서는 OpenRTM-aist-0.4.1을 동작시키기 위해서 반드시Microsoft Visual C++ 2005 SP1 재반포 가능 패키지 (x86) 를 인스톨 해 주세요.
덧붙여 씀:08/06/06 OpenRTM-aist(C++판) 0.4.2의 릴리스에 수반하는 변경
 OpenRTM-aist(C++판) 0.4.2에는, VC8(VS2005) 베이스의 것과 VC9(VS2008) 베이스의 것이 있습니다.OpenRTM-aist-0.4.2-jp_vc8.msi등의 VC8 베이스의 인스톨러를 사용했을 경우는Microsoft Visual C++ 2005 SP1 재반포 가능 패키지 (x86) 를, OpenRTM-aist-0.4.2-jp_vc9.msi등의 VC9 베이스의 인스톨러를 사용했을 경우는Microsoft Visual C++ 2008 재반포 가능 패키지 (x86) 를 인스톨 해 주세요.

「이 어플리케이션의 구성이 올바르지 않기 때문에, 어플리케이션을 개시할 수 없었습니다.…」

 샘플의 RT컴퍼넌트등을 기동하려고 하고, xxxComp.exe를 실행하면, 상기와 같은 에러가 나오는 경우가 있습니다.이 에러는 기동 환경상에 VC++2005 라이브러리의 런타임 컴퍼넌트가 없기 위해(때문에) 일어납니다.VC++2005 관련의 개발 환경(Microsoft Visual Studio 2005,Visual C++ 2005 Express등)을 인스톨 하고 있지 않는 환경에서는 OpenRTM-aist-0.4.1을 동작시키기 위해서 반드시Microsoft Visual C++ 2005 SP1 재반포 가능 패키지 (x86) 를 인스톨 해 주세요.
덧붙여 씀:08/06/06 OpenRTM-aist(C++판) 0.4.2의 릴리스에 수반하는 변경
 OpenRTM-aist(C++판) 0.4.2에는, VC8(VS2005) 베이스의 것과 VC9(VS2008) 베이스의 것이 있습니다.OpenRTM-aist-0.4.2-jp_vc8.msi등의 VC8 베이스의 인스톨러를 사용했을 경우는Microsoft Visual C++ 2005 SP1 재반포 가능 패키지 (x86) 를, OpenRTM-aist-0.4.2-jp_vc9.msi등의 VC9 베이스의 인스톨러를 사용했을 경우는Microsoft Visual C++ 2008 재반포 가능 패키지 (x86) 를 인스톨 해 주세요.

Visual C++ 2005 Express Edition로 빌드시에 「'windows.h'가 발견되지 않는다」라고 하는 에러

 Visual C++ 2005 Express Edition로 빌드시에 다음과 같은 에러가 나오는 경우가 있습니다.
 >c:\program files\omniorb\include\omnithread\nt.h(35) : fatal error C1083: include 파일을 열지 않습니다.'windows.h': No such file or directory
이것은1.Microsoft Platform SDK가 인스톨이 되어 있지 않은,혹은2.인클루드 파일 패스·라이브러리 패스의 설정 미비가 원인이라고 생각할 수 있습니다.

1.Microsoft Platform SDK가 인스톨이 되어 있지 않다

대응방안법:  Microsoft Platform SDK를 인스톨 한다.그 때는,이쪽를 참고로 해 주세요.혹은, 다음의2.에 따라 주세요.

2.인클루드 파일 패스·라이브러리 패스의 설정 미비

대응방안법:  인스톨을 하는 순서등의 관계로, Visual C++ 2005 Express Edition의 인스톨 디렉토리와는 다른 장소에 Microsoft Platform SDK가 인스톨 되어 버리는 등의 사정으로, Visual C++ 2005 Express Edition 의 컴파일러가 Microsoft Platform SDK의 인클루드 파일이나 라이브러리자포자기하지 않게 되어 있는 경우가 있습니다.이 경우는, 인클루드 파일 서치 패스나 라이브러리 서치 패스에 Microsoft Platform SDK의 인스톨 디렉토리를 추가하는 것으로 문제를 해결할 수 있습니다.
  • 인클루드 파일 서치 패스의 추가 방법  Visual C++ 2005 Express Edition의 도구모음→「툴」→「옵션」을 선택해, 「옵션」윈도우를 엽니다.왼쪽의 트리뷰로부터 「프로젝트 및 솔루션」→「VC++디렉토리」를 선택합니다. 우상의 풀다운 메뉴 「디렉토리를 표시하는 프로젝트」를 「인클루드 파일」로서, Microsoft Platform SDK의 인클루드 파일의 디렉토리(예를 들면, 「C:\Program Files\Microsoft Platform SDK\Include」)를 잉크 르드파일의 서치 패스에 추가합니다.
  • 라이브러리 파일 서치 패스의 추가 방법  이와 같이 하고, 「옵션」의 왼쪽의 트리뷰 「VC++디렉토리」를 선택한 상태로, 우상의 풀다운 메뉴 「디렉토리를 표시하는 프로젝트」를 「라이브러리 파일」로서, Microsoft Platform SDK의 라이브러리 파일의 디렉토리(예를 들면, 「C:\Program Files\Microsoft Platform SDK\Lib」)를 라이브러리 파일의 서치 패스에 추가합니다.
    덧붙여 서치 패스의 구체적인 추가 방법 등은 Visual C++ 2005 Express Edition의 헬프등을 참조해 주세요.

인스톨러 실행중에 「…특권이 부족합니다.」 등이라고 표시되고, 인스톨을 속행할 수 없는

 Administrator 특권을 가지는 유저로서 로그 온 해, 인스톨 작업을 실시해 주세요.

Python판

rtm-naming.py를 실행하면, omniNames가"usage:"를 표시해 종료해 버립니다.

  • 증상 rtm-naming.py를"C:\Documents and Settings\Hoge\My Documents"등 디렉토리명에 공백이 들어가 있는 디렉토리로부터 실행했을 경우, omniNames는"usage:"를 표시해 종료해 버립니다.

    대처 방법

 이것은, rtm-naming.py의 버그에 의하는 것입니다.상기의 증상이 나왔을 경우, 아래와 같은 어느 쪽인가의 방법으로 대처해 주세요.
대처법 그 1
C:\의 직하(또는, 패스명에 공백이 들어가 있지 않은 장소)에"RTMNaming"등 적당한 폴더를 작성해 rtm-naming.py를 실행해 주세요.
대처법 그 2
C:\Python24(또는, Python25)\Lib\site-packages\OpenRTM\rtm-naming의 rtm-naming.py의 48행째를 아래와 같이 편집해 주세요.
 rtm-naming.py 48행째
  cmd = "omniNames -start "+str(port)+" -logdir \""+str(currdir)+"\" &"

python.exe가 기동하지 않는

 환경 변수 Path에 Python 인스톨 폴더를 추가해 두어 주세요(C:\Python24 등).

Cygwin를 인스톨 하고 있는 환경에서는 python.exe가 복수 존재하는 경우가 있는

 Cygwin를 인스톨 하고 있는 환경에서는, Cygwin상에도 python.exe가 존재하는 경우가 있습니다.그 경우는, 통례 Cygwin상의 python.exe에의 서치 패스가 우선되도록(듯이) 설정되기 위해, 환경 변수 Path를 적절히 설정해 있는데도 관계없이, 이번 도입했음이 분명한 Python와는 다른 버젼의(즉 Cygwin상의) python.exe가 기동해 버리는 경우가 있습니다.이 경우, Python의 버젼의 차이에 의한 불편이 발생해 버립니다.이 문제는 매우 원인이 특정 하기 어려운 것이 특징입니다.이와 같이 Cygwin등을 인스톨 하고 있는 환경에서 OpenRTM-aist Python판을 사용하는 경우는, 해당 버젼의 python 인스톨 폴더로부터 python.exe가 기동하고 있는 것을 확인해 주세요.
  • 확인 방법의 예:python -V로 버젼을 조사하는, (Cygwin가 있는 환경에서는) which python로 어느 python.exe가 실행되고 있는지를 확인한다...등
    -이 장해가 발견되었을 경우의 대처:Python 인스톨 폴더(C:\Python24등)를시스템 환경 변수 Path(*유저 환경 변수 Path는 아니고)의선두에 추가하는 것으로 해결할 수 있습니다. 

「MSVCP71.dll 가 발견되지 않았기 때문에,…」라고 하는 에러로 종료하는

 WINDOWS\system32 폴더내에 msvcp71.dll가 없기 위해(때문에) 발생하는 에러입니다.msvcp71.dll를이쪽 로부터 입수해 주세요.

「Can't open file: ./rtc.conf」등이라고 표시된다.

 RT컴퍼넌트의 기동 폴더(혹은 서치 패스상)에 rtc.conf가 발견되지 않기 때문에, 기동할 수 없는 상태입니다.이 경우, 다음과 같이 표시됩니다.
 Can't open file: ./rtc.conf
 Can't open file: /etc/rtc.conf
 Can't open file: /etc/rtc/rtc.conf
 Can't open file: /usr/local/etc/rtc.conf
 Can't open file: /usr/local/etc/rtc/rtc.conf
이것은 rtc.conf를 찾는 서치 패스가 디폴트 상태이며, 상기의 차례로 찾았지만 발견되지 않았기(위해)때문에 이 표시가 이루어집니다.이것을 피하기 위해서는, 예를 들어
 corba.nameservers: localhost
 naming.formats: %n.rtc
그렇다고 하는 내용의 파일 rtc.conf를 작성해, 상기 서치 패스상(통례는 경향=컴퍼넌트와 같은 폴더)에 배치합니다.

SimpleIO 컴퍼넌트로"Please input number:"라고 하는 표시가 나타나지 않는

 샘플 SimpleIO의 run.py를 기동해도,"Please input number:"라고 하는 prompt가 터미널상에 전혀 나타나 오지 않는 경우가 있습니다.이 경우, SimpleIO 폴더내의 Connector.py를 기동하는 것으로 정상 동작을 얻습니다.

인스톨러 실행중에 「…특권이 부족합니다.」 등이라고 표시되고, 인스톨을 속행할 수 없다

 Administrator 특권을 가지는 유저로서 로그 온 해, 인스톨 작업을 실시해 주세요.

Java판

「java -version」가 인스톨 한 JDK의 버젼과 다릅니다.

 벌써 JDK보다 새로운 버젼의 JRE(Java Runtime Environment)가 인스톨 되고 있는 경우는, JDK를 인스톨 해도 「java -version」가 JRE대로 되는 일이 있습니다.이 경우의 인스톨의 확인 방법을 설명합니다.

「프로그램의 추가와 삭제」로의 확인 방법

 Windows의 컨트롤 패널로부터 「프로그램의 추가와 삭제」를 호출해, JDK5가 인스톨 되고 있는 것을 확인해 주세요.

add_or_delete.png
JDK5를 「프로그램의 추가와 삭제」로 확인


내 컴퓨터로부터의 확인 방법

JDK를 디폴트로 인스톨 했을 경우에는, 통상

 C:\Program Files\Java\jdk1.5.0_15
그렇다고 하는 패스에 인스톨 되므로, 내 컴퓨터로 직접 그 폴더의 존재를 확인합니다.
confirm_Java.png
내 컴퓨터로부터 JDK5를 확인


인스톨러 실행중에 「…특권이 부족합니다.」 등이라고 표시되고, 인스톨을 속행할 수 없다

 기본적으로는 Administrator 특권을 가지는 유저로서 로그 온 해, 인스톨 작업을 실시해 주세요.다만, Java판에 관해서는, 유저 권한(제한 유저)에서도 인스톨이 가능합니다.이 경우, 인스톨 폴더를 특권이 불필요한 곳으로 지정해 주세요.특권이 불필요한 곳이란, 로그인 유저 명의의 유저 폴더 이하의 장소(마이 다큐먼트라든지도 포함됩니다)인가, 혹은, C:드라이브 직하등에서 시스템 폴더(이하) 이외 한편 유저 폴더(이하) 이외의 장소입니다.
참고:Administrator 특권이 없으면 인스톨 할 수 없는 장소(폴더
시스템 폴더 이하
「Program Files」폴더 이하나 「WINDOWS」폴더 이하 등
(자신 이외의) 유저 폴더 이하
「Documents and Settings」폴더내의 「로그인 유저 이외」의 폴더 이하

ダウンロード

最新バージョン : 2.1.0-RELESE

統計

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

OpenRTM@Github

OpenRTM-aist GitHubサイト

ROS

Robot Operating System

Choreonoid

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

DAQ-Middleware

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

産総研が提供するRTC集

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