2010년 8월 24일 화요일

mac porting(정리)

결론부터 말하자면

GTK+Player, stage(64)
Emss(64)
opros(64)
boost(64)
ace(64)
wxWidgets(64)

player stage는 아래문서를 보고 설치 했다.
http://www.doesnotunderstand.org/wikka.php?wakka=InstallingPlayerAndStageInMacOSX106

INSTALL_DIR는 /usr/local로 했다.


설치지 가장 문제가 되는 부분은
/usr/local/lib과 /opt/local/lib이 충돌이 난다는 것다.

arch 선택은 x86_64로 설정 했고
gtk는 gconvert.c 소스를 약간 수정해서 설치 했다. http://letsneverdie.net/blog/?p=75


그래야 player에 있는 Playerv를 쓸수 있다.

emss설치시에는 -lasound가 문제가 되는데 UNIX AND NOT APPLE 조건으로 설치를 배제했고

boost는 그냥 설치, opros는 semapore관련 소스만 간단히 수정해서 설치 했다.

wxWidgets는 opt에 있는 라이브러리를 wxWidgets이 참조하는 라이브리의 path를 ln -s 해서 설치 한게 가장 큰 이슈인것 같다.
install_name_tool 사용 방법에 관해서 http://web.archiveorange.com/archive/v/KtjmXNbcegyOnszBdOHm

ace는 보통 설치 하듯 했고

전반적으로 64bit에서 설치 했고, opt/local/lib은 모두 64bit이다. 반면 /usr/lib, /usr/local/lib은 i386, x86_64, ppc로 링크되어 있다.

여기서 한가지 배운점은 pkg_config_path를 원하는 path로 설치 전에 export해주고

cmake 작성시 pkg-config는 꼭 제작 해야 겠다.

mac은 gcc 4.2( 10.6.3 )로 되어 있어 그게 설정 해줄 것이다. 소스 변경은 없지만 라이브러리 path라던지 컴파일 옵션을 잘 알아야 헤매지 않겠다.

3rdparty관련 라이브러리 소스 수정은 기억이 안나 백업 해서 SVN에 올린다.

습득 툴로는

macports다

sudo port install xxx로 debian의 apt-get과 비슷한 툴이다.

참고로 cmake , pkg-config와 같은 개발툴은 다 설치 해줘야 한다.

우선 여기서 일달락 짖고 본격적으로 IPAD와 놀아 보자 .

2010년 8월 23일 월요일

mac for opros, convert modification context

/Users/bcc/build/emss_1.3/Core/GUI/MapObjectsView.cpp:81: error: cast from ‘MapObject*’ to ‘int’ loses precision


/Users/bcc/build/emss_1.3/Core/GUI/RemoteInterfaceView.cpp:96: error: cast from ‘RemoteInterfaceMessage*’ to ‘int’ loses precision

/Users/bcc/build/emss_1.3/Core/GUI/TaskEditor.cpp:134: error: cast from ‘Task*’ to ‘int’ loses precision



mrpt

GL/glut.h -> GLUT/glutl.h

GL/glext.h -> OpenGL/glext.h

2010년 8월 22일 일요일

opros for mac os x

player(not gtk), oce, cdl, RCF, ACE, boost is complete install
GTK
wxWidget
TAO
MRPT
emss

2010년 8월 21일 토요일

package 하기

윈도우는 NSIS로 했다
CPack이 지원한다.

문제는 linux인데 압축 방식으로 하거나 debian으로 package를 만들어서 설치 할 수 있다.
CPack, CTest, CMake는 필수로 해야 할 것 같다.

Mac에서 시도 중인데 gcc를 지원 하니까 쉽게 포팅하고 실행 해 볼 수 있을 것 같다.
이왕에 할거 iphone, ipad에도 도전해 보자! 홧팅

orocos error

아래아래 글에서 그냥 Release로만 설치하자

2010년 8월 20일 금요일

mac error

1번째 에러
file:src/cocoa/app.mm
extern "C" static void ObserveMainRunLoopBeforeWaiting(CFRunLoopObserverRef observer, CFRunLoopActivity activity, void *info);
extern "C" static void ObserveMainRunLoopBeforeWaiting(CFRunLoopObserverRef observer, CFRunLoopActivity activity, void *info)
434, 435 부분의 "C" -> "C++" 변경 해봐라(구글링)

2번째 에러
ref

1. Unlike C++, a class in Objective-C which doesn't inherit from NSObject won't work. (Well, you can make it work, but you don't want that usually.) Note the line @interface MyObj:NSObject.
2. To use NSObject, do #import
3. Don't forget to use the extension .mm for Objective-C++ files.

WXNSTextFieldDelegate은 NSObject를 상속되었기 때문에
static wxObjcAutoRefFromAlloc sg_cocoaDelegate([[WXNSTextFieldDelegate alloc] init]); 정의된 sg_cocoaDelegate를 delete(함수포인터?)로 설정해도 objc-object형 변형엔 문제 없을 것 같은데...
(objc-object*)wxObjcAutoRefFromAlloc or
(NSObject*)wxObjcAutoRefFromAlloc 이렇게 해야 하나?

2010년 8월 12일 목요일

orocos 두번째 설치기

지난번에 잘 설치 했는데 이번에는 뭔가 꼬였다.
우선 rtt를 tao랑 같이 링크 하기로 했는데
tao의 디버그를 rtt cmake에서 못찾아 생기는 문제 였다.
우선 문제해결은 rtt cmake 에서 debug시 ACEd.lib, TAOd.lib를 선택하고
반대로 Release시 ACE.lib, TAO.lib를 선택 하게 한다.
다른 TAO 관련 라이브러리도 마찮가지이다.

rtt 컴파일시 링크 에러가 걸리는데 당연
디버그네임으로 있을 함수들이 릴리즈에서는 당연이 없으니까 생기는 에러이다.

우선 release, debug로 ACE, TAO를 전부 재 빌드후 rtt cmake를 좀 수정해서
해당 파일을 링크하도록 해야 겠다.

2010년 8월 3일 화요일

make error fix

Core/COIL/qexterialport/qexterialport.h

#ifdef POSIX => #ifndef WIN32

iPad write

Erfdyujgfd