iPhone Development 2011/03/09 00:10

자주가는 맥부기까페에 어느 회원분이 iRdesktop을 빌드하려는데 잘 되지 않는 다는 글을 보고 한번 해보았습니다.


도움이 되길 바랍니다.


iRdesktop은 iPhone/iPad용 오픈소스 RDP입니다. XCode(iOS SDK 4.2)에서 한번 빌드해 보겠습니다.


Step 1: iRdesktop소스코드를 다운로드 합니다.

http://www.irdesktop.com/gpl/iRdesktop-src-1.0.5.zip

사파리에서 받으면 일반적으로 /Users/사용자이름/Downloads/iRdesktop-src-1.0.5 에 다운로드됩니다. 압축도 풀어지구요.


Step 2: OpenSSL 다운로드 및 빌드

성격 급하신 분들은 다운 받자마자 XCode를 열어 빌드부터 하시죠?;; 

그리고는 엄청난 빌드에러에 좌절을...(네.. 제가 그랬습니다.)


이 빌드 오류는 OpenSSL라이브러리를 찾지 못해서 발생하는 에러입니다.


그래서 iRdesktop소스에 어떤 파일이 있나 찾아보니 

OpenSSL-DownloadAndBuild.command 와 OpenSSL-Thinstuff.diff 라는 파일이 있습니다. 

OpenSSL을 다운로드하고 빌드하는 실행 파일과 OpenSSL소스 패치 파일이네요. 

(또 성격 급하신 분들은 더블클릭으로 실행합니다. 그렇게 하면 /Users/사용자이름/에 파일이 받아지고 빌드가 되어 빌드오류가 납니다. 네..또 접니다;;)


터미널을 열어 OpenSSL-DownloadAndBuild.command파일이 있는 곳으로 이동합니다.

------------------------------------------------------------------------------------------------------------------

$ pwd

/Users/juncon

$ cd Downloads/iRdesktop-src-1.0.5/

------------------------------------------------------------------------------------------------------------------




이제 OpenSSL-DownloadAndBuild.command 파일을 실행합니다.

------------------------------------------------------------------------------------------------------------------

$ ./OpenSSL-DownloadAndBuild.command 

Downloading OpenSSL Version 0.9.8j ...

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current

                                 Dload  Upload   Total   Spent    Left  Speed

100 3650k  100 3650k    0     0  49823      0  0:01:15  0:01:15 --:--:--  108k

Unpacking OpenSSL ...


Applying Thinstuff patch ...

patching file Configure

patching file crypto/ui/ui_openssl.c


Copying header hiles ...


Building i386 version (for simulator). Please wait ...

Done. Build log saved in BuildLog.darwin-i386.txt


Building armv6 version (for iPhone). Please wait ...

Done. Build log saved in BuildLog.darwin-armv6.txt

cp: libcrypto.a: No such file or directory

cp: libssl.a: No such file or directory


Finished. Please verify the contens of the openssl folder in your main project folder

------------------------------------------------------------------------------------------------------------------


어랏..끝난 것 같긴 한데... 아래 문구가 눈에 거슬리네요.

cp: libcrypto.a: No such file or directory

cp: libssl.a: No such file or directory


결국 시뮬레이터용은 빌드가 성공적으로 되었는데 arm6용(디바이스)은 실패한 것 같습니다.ㅠㅠ 


음.. 빌드로그를 보니 iOS SDK가 4.1기준으로 되어 있네요. 저는 참고로 SDK 4.2가 설치되어 있습니다.

그래서 어딘가에 iOS SDK 4.1을 설정해주는 부분이 있을 것 같아 여기저기 뒤져보니

OpenSSL-Thinstuff.diff 파일에 /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.1.sdk 라는 문구가 있네요. 

그냥 맨 마지막 iPhoneOS4.1.sdk를 iPhoneOS4.2.sdk로 수정하고 다시 빌드해보겠습니다.


------------------------------------------------------------------------------------------------------------------

$ ./OpenSSL-DownloadAndBuild.command 

Unpacking OpenSSL ...


Applying Thinstuff patch ...

patching file Configure

patching file crypto/ui/ui_openssl.c


Copying header hiles ...


Building i386 version (for simulator). Please wait ...

Done. Build log saved in BuildLog.darwin-i386.txt


Building armv6 version (for iPhone). Please wait ...

Done. Build log saved in BuildLog.darwin-armv6.txt


Finished. Please verify the contens of the openssl folder in your main project folder

------------------------------------------------------------------------------------------------------------------


음...이번엔 뭔가 깔끔하게 끝난 것 같군요. XCode로 프로젝트를 빌드해 봐야겠습니다.


Step 3: 프로젝트 빌드

파인더에서 iRdesktop.xcodeproj를 열어 Base SDK를 iOS 4.2로 수정하고 빌드를 합니다.


음..다음과 같은 오류가 1개 있네요;;




앗.. 처음보는 에러메시지;; 무슨 말인지는 모르겠으나..버전이 어쩌구 저쩌구 하네요. 

급한 마음에 일단 빨간 줄을 더블클릭하니 인터페이스 빌더가 실행됩니다.



위에 빨간 네모 부분에 있는 오류아이콘을 눌러보니 아래와 같이 나옵니다.







음... iOS 2.0으로 되어 있는게 맘에 들지 않네요. 지금 4.3에 iOS 5도 나온다고 하는데 말이죠. 

그냥 Deployment Target:을 iOS 3.0으로 변경 해봅니다.









어랏! 경고1개와 오류1개가 사라졌네요. (왜? 냐고는 묻지 말아주세요 -_-) 일단 잘 되니 넘어가겠습니다. 저장하고 다시 빌드합니다.



Step 4: 실행


잘 되는군요^^  고생하셨습니다.





끝~


'Dev > IPhone' 카테고리의 다른 글

Xcode 3.2.5, iOS SDK 4.2 에서 파스칼로 코딩하기.  (0) 2011.03.13
이전 IPhone SDK 다운로드 하기  (0) 2011.03.13

+ Recent posts