2013년 9월 8일 일요일

OROCOS 윈도우 ^^

드뎌 했다~~ 긴 시간의 싸움 이였다.
문제는 일관된 문서가 없다는 것이다.
RTT는 git에서, OCL은 toolchain 2.6.0에서 호환된다. RTT의 버전은 물론 2.6.0이여야 한다.

ocl Cmake시 같은 버전이 아니면 에러를 낸다.
누가 알았겠는가.

2.3.0, 2.3.2, 2.6.0에서 RTT, OCL 다 해봤지만 안된 이유가 이것이다.
또한 boost 1.40.0, 1.44.0, 1.52.0 1.38.0 과도 case를 내가며 해봤지만 모두 에러만 있을뿐이 였다.

그럼 오늘 하루 작업한 내용을 적겠다.

위에서 말한 바 대로 rtt는 git에서 ocl은 toolchain 2.6.0에서 다운 받는다.

rtt는 boost 1.44.0으로 컴파일 하고 몇개의 boost에러가 있지만 별거 아니다.

ocl은 rtt의 install 위치를 알아야 하고 log4cpp와 readline이 있어야 빌드(CMake)된다.

물론 boost위치도 알아야 한다.

그럼 컴파일 한다. 당연히 컴파일 에러가 난다.
하나하나 잡아가자 ^^ 뭐 이골이 났지만.

처음에는 기억을 되집어 가보자면......
RTT의 COmponentLoad에 관한 것이다. RTT_API로 dll에 넣어 주고
몇개의 링크 에러는 RTT의 plugin이 없어서 이다. ==> windows8에서는 이런 문제가 없는데
7에서는 파일 링크가 안되었다.

대부분의 문제가 이런 링크에러 문제들이다.
log4cpp에서도 export해줘야 한다. 커멘트로 내부에 쓰이는 클래스 인데 왜 구~~~~~~~~ 지 OCL에서 쓰셨는지는 모르겠다.

OCL project에 ocl dll 이 있다. 99%가 header로 구혔되었는데 Category, CategoryStream? 요 두놈이 log4cpp를 랩핑했는데 vtable? 이런 에러가 난다. 링크에러인데 OCL_EXPORT로 명시적으로 하니 된다. 왜그런지는 pass

LoggingEvent.cpp?  이 파일도 빠져 있어 CMakeLists.txt에 추가 했다.

그렇게 큰 에러는 없는 것 같은데 ... runtime에서 테스트해봐야 맘이 놓이 겠다.

위의 그림 어후~~ 굿~~ ^^ 잘자  새벽 1시 30분 오늘은 월요일 회사가서 또 쾡하니 있겠군 ㅎㅎㅎㅎㅎ



댓글 없음: