- 증상
앱 개발중 sqlite부분을 구현중이었습니다.
어느순간부터 컴파일시 이유를 알 수 없는 에러가 뜨더군요.
ld: warning: in /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.sdk/usr/lib/libSystem.dylib, missing required architecture i386 in file
ld: in /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.sdk/usr/lib/libobjc.A.dylib, missing required architecture i386 in file
collect2: ld returned 1 exit status
Command /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 failed with exit code 1
(결론만 알고 싶은분은 아래로 스크롤 퀵다운 하세요 ㅎㅎ)
-하소연잡소리
어느라인에서 에러가 났는지 트래킹도 안해주더군요..
이때 직감했습니다.. "지금시각 새벽3시.. 오늘 잠 다잤다."
sqlite붙이면서 작성했던 코드.. 메쏘드 하나씩 주석으로 처리를 했는데도.. 여전히 저 에러는 뜨더군요.
그래서 코드자체를 지워봤는데도.. 여전히 뜨는겁니다.
혹시나 싶어 초창기때 떠논 스냅샷으로 했는데도 뜨더군요.
이때 직감했습니다.. "지금시각 새벽 3시 30분.. 오늘 잠 다잤다."
맥부기와서 "gcc-4.2 failed with exit code 1"로 검색을 해봅니다.
질문글들은 있는데.. 대부분 무플.. 그나마 있는 답변은 저랑 케이스가 안맞더군요.
구글에서 검색했습니다.
역시 건질거 없습니다.
포기하고 잘까하다가..
시뮬레이터 버전을 바꿔봅니다.
역시 변하는거 없습니다.
침착하게 맘먹고.. 에러코드를 찬찬히 봅니다.
그랬더니 눈에 안보이던 에러코드가 보입니다.
ld: warning: in /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.sdk/usr/lib/libSystem.dylib, missing required architecture i386 in file
ld: in /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.sdk/usr/lib/libobjc.A.dylib, missing required architecture i386 in file
이번에 추가한 libsqlite3.0.dylib는 링크파일이어서 못찾나? 했는데...
libSystem.dylib랑 libobj.cd.A.dylib은 기존에 있던것들인데 missing이라고 하는게 의심스럽더군요.
이때 직감했습니다.. "오늘밤 잘 수 있겠구나.."
다시 맥부기로와서
"missing required architecture i386 in file" 검색합니다.
와우!!! 검색결과가 없답니다....
구글로 가서 검색을 합니다.
그중 뭔가 냄새가 나는글을 포착.. 링크에 링크를 타다보니.. stackoverflow.com에 저와 동일한 증상에 대한 질문이 있고 답글이 있더군요. (제가 RoR하는데 종종 stackoverflow.com에서 도움받았는데.. stackoverflow.com최고!!)
거기에 나와있는 해결책대로하니..
젠장......... 잘됩니다 ㅠ,.ㅠ
지쟈스.. 감사합니다. ㅠ,.ㅠ
이거 안되면
#1 일단 걍 잔다
#2 아침에 SDK새로깐다.
#3 그래도 안되면 다....다...다....다시 짠다.
자.. 저의 재미없는 하소연을 읽느라 지루하셨죠~?
이제 그 마법의 비법을 소개해드리겠습니다.
- 해결책
#1 문제가 있는 프로젝트의 프로젝트코드를 textmate나 textedit같은 text editor로 열어제낍니다.
예) example.xcodeproj
전 textmate로 열었습니다.
#2 textmate로 열면 3개의 파일이 나타나는데 그 중 project.pbxproj를 오픈합니다.
#3 그리고 FRAMEWORK_SEARCH_PATHS 혹은 LIBRARY_SEARCH_PATHS의 경로를 상황에 맞게 적절하게 수정해줍니다.
저같은 경우 이렇게 되어 있더군요.
"$(inherited)",
"\"$(DEVELOPER_DIR)/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.sdk/usr/lib\"",
"\"$(DEVELOPER_DIR)/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/usr/lib\"",
);
네.. 그렇습니다 문제는 여기 있었던겁니다.
외부 프레임웤 파일을 추가할때(libsqlite3)이 경로도 변경이 된 것이죠... -ㅅ-; 버그죠. (전 스노우 레오파드입니다.)
벅차오르는 분노와.. 해결할 수 있다는 기쁨과 희망이 오묘하게 교차하는 순간이었습니다. ㅎㅎ
전 아래와 같이 수정해주었습니다.
"$(inherited)",
"\"$(DEVELOPER_DIR)/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.sdk/System/Library/Frameworks\"",
"\"$(DEVELOPER_DIR)/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/System/Library/Frameworks\"",
);
이렇게 수정후 컴파일하니.. 시뮬레이터 잘 뜹니다.
네.. 제가 짠 sqlite부분은 문제가 없었던 것이었습니다.!!! (역시 난 틀리지 않았어!! ㅎㅎ)
정말로 기쁘더군요..
저의 기쁜 마음을 알아주는건지.. 창밖은 서서히 밝아오고..-ㅅ-
문제를 해결한 기쁜마음이 있을때 이렇게 써놓아야지.. 안그러고 자고나면 귀차니즘으로 안쓸걸 알기에..
이렇게 앞뒤문맥따위 예쁘게 무시해버린 글을 휘갈겨놓습니다.
'IPhone & IPad > 작은 팁' 카테고리의 다른 글
| XCode4에서 App 등록하기. (30) | 2011/03/14 |
|---|---|
| "시스템 루트" 키체인을 수정할 수 없습니다. (0) | 2010/08/09 |
| [1원 팁] 투명 뷰 만들기. (0) | 2010/07/22 |
| [1원 팁] SQLite에서 뽑은 값을 NSString을 전역변수로 쓰기. (0) | 2010/07/05 |
| UINavigationController를 이용해서 pushViewController했는데 Rotate가 안될때.. (0) | 2010/06/28 |
| 아이폰 앱개발시 코드는 문제 없는데 이유를 알 수 없는 에러가 날때.. (7) | 2010/04/30 |
TRACKBACK http://hiphapis.net/trackback/173
-
hiphapis의 생각 삭제
2010/05/02 18:56TRACKBACK FROM hiphapis' me2DAY아이폰 앱개발시 코드는 문제 없는데 이유를 알 수 없는 에러가 날때..
댓글을 달아 주세요
감사합니다.
2011/02/17 11:17 [ ADDR : EDIT/ DEL : REPLY ]덕분에 해결했습니다.
저 같은 경우엔 simulator 쪽 library 경로를 주석 처리 하니 잘 되었네요.
도움이 되셨다니. 다행입니다! ㅎㅎ
2011/02/22 18:10 [ ADDR : EDIT/ DEL ]*.xcodeproj 경로;;;?? 잘모르겠어요... project.pbxprj 파일또한;;; 어디있는지;
2011/05/30 02:13 [ ADDR : EDIT/ DEL : REPLY ]xcodeproj는, xcode에서 프로젝트를 생성했을시 생기는 파일입니다.
2011/06/02 14:42 [ ADDR : EDIT/ DEL ]이 파일을 열면 해당 프로젝트가 xcode에서 열리게 되지요.
pbxprj는, 위에 적은 xcodeproj를 textmate(혹은 textedit등의 text기반 editor)로 여시면 나오는 파일입니다.
감사합니다.
2011/07/01 16:52 [ ADDR : EDIT/ DEL : REPLY ]거슬리는 오류였는데.. 덕분에 해결 되었네요~!! ^^
즐거운 하루 보내십시용~! ^^
텍스트 메이트를 썼는데 작성자님처럼 안나와요....
2011/08/03 14:36 [ ADDR : EDIT/ DEL : REPLY ]ImageTargets.xcodeproj/
project.pbxproj
project.xcworkspace/
contents.xcworkspacedata
xcuserdata/
whalesprogram.xcuserdatad/
UserInterfaceState.xcuserstate
xcuserdata/
whalesprogram.xcuserdatad/
xcschemes/
ImageTargets.xcscheme
xcschememanagement.plist
이렇게만 뜨고 선택할수없던데 이건 왜그런건가요?
textedit 로 열면 .xcodeproj 파일이 안열리네요 ㅠㅠ
2011/08/06 14:28 [ ADDR : EDIT/ DEL : REPLY ]비활성화된 버튼상태 ㅠㅠ