2010-04-27 2 views
0

내가 사과 발전에 새로운 해요, 내 유니 프로젝트를 위해 내가 PocketSphinx 음성 명령을 인식하여 아이폰 응용 프로그램을 ... 개발하려고 PocketSphinx, 파일이 iPhone 장치에서 필수 아키텍처가 아니지만 시뮬레이터에서 작동합니까?

나는 PocketSphinx SVN과 SphinxBase에서 사용할 수있는 "build_for_iphoneos.sh"스크립트를 사용했다. 내가 시뮬레이터에서 시도 할 때 어떤 문제도없이 작동하는 프로그램, 오늘 나는 장치에 배치하려고 시도하고 그것이 나에게이 오류를주는거야? 어느 누구도이 문제를 해결할 수 있습니까?

오류 :

ld: warning: in /Users/me/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.2.sdk/lib/libpocketsphinx.a, file is not of required architecture 
ld: warning: in /Users/me/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.2.sdk/lib/libsphinxbase.a, file is not of required architecture 

과 기능에 대한 참조의 나머지는 정의되지 않은 오류를보고!

어떤 도움이 필요합니까? 감사. Jeevan

답변

1

라는 라이브러리했다

lipo -output libOAuthConsumerTouch.a -create Release-iphoneos/libOAuthConsumerTouch.a Release-iphonesimulator/libOAuthConsumerTouchSim.a 

Solved ... 스핑크스의 지시에 따라 모든 사람이 Readme 파일에서 언급 한 순서대로 진행됩니다. 어떤은 다음과 같습니다 시뮬레이터가 I386 아키텍처를 기반으로하기 때문에 "./build_for_iphoneos.sh 장치"여전히 HT 이전 캐시를 유지하고의 ARMv6 아키텍처 변화를 무시하는 것을 ... 호출 할 때

./build_for_iphoneos.sh simulator 
./build_for_iphoneos.sh device 

이 문제를 해결하기 위해, 전화는 그의 도움을 ...

./build_for_iphoneos.sh simulator 
make clean 
./build_for_iphoneos.sh device 

희망이 다른 사람을 도움이 ... 그들 사이에 "루시우스"를 감사합니다 "청소하십시오".. 난 ... 리포 도구에 대한 뭔가를 배운 :)

+0

통지 해 주셔서 감사 드리며, README를 업데이트하겠습니다. 나는 iPhone에서 Sphinx 지원을 개선하기 위해 노력해 왔습니다. –

+0

안녕하세요, Jeevan, 제 프로젝트에 대한 귀하의 의견을 말씀드립니다. http : // github.com/KingOfBrian/VocalKit/- 몇 가지 기능과 텍스트를 연설 할 예정입니다. 희망이 도움이 될 수 있습니다! –

+0

미안 해요, 내 프로젝트 등의 데모로 바빴어요 ... 단순화하는 것들과 함께 행운을 ... – Jeevan

0

보통 arm 용 빌드가 필요할 때 정적 라이브러리 만 Intel 용으로 빌드하면이 오류가 발생합니다. lipo 도구를 사용하면 두 아키텍처 모두에서 큰 바이너리를 사용할 수 있습니다.

편집 : 죄송합니다. 나는 립에 자동 수정 된 "lipo"도구를 의미했습니다. 아이폰 OS 장치 (ARM6/ARM7) 및 시뮬레이터 (I386) 모두에 대해 지방 바이너리 아이폰 정적 라이브러리를 만들려면, 다음과 같은 내용을 사용한다 : "OAuthConsumerTouch"

+0

답장을 보내 주셔서 감사합니다. 전이 개발 환경에 완전히 새로운 것 같습니다. 이 "입술 도구"를 사용하는 방법에 대한 세부 정보 나 웹 사이트를 좀 더 제공해 주실 수 있습니까? – Jeevan

+0

답장을 보내 주셔서 다시 한번 감사드립니다 ...이 플랫 바이너리 파일을 이해하기 시작했습니다. lipo를 사용하여 다시 문제가 발생합니다. i386 아치 형식의 릴리스 및 시뮬레이터 파일을 모두 참조하십시오! build_for_iphoneos.sh는 "armv6"에서 "device"릴리스를 빌드한다고 가정하지만, 어떤 이유로 그것이 그렇게하지 않습니다! 나는이 글을 "lipo -info "라고 확인했다 ... 가능하다면이 스크립트 plz를 보아라 : http://pseudogreen.org/bzr/sandbox/iphone/build_for_iphoneos – Jeevan

+0

나는 이해하지 못한다. 쉘 스크립팅 정도면 충분합니다. 스크립트가 작동하지 않는 이유를 알아보기 위해 스크립트를 점검해야 할 필요가있을 것입니다. – lucius

관련 문제