2011-11-02 3 views
0

"아키텍처 i386에 대한 정의되지 않은 기호"라는 오류 메시지가 표시되지 않고 어떻게 Base SDK "iOS 3.1.3"에 대해 iPhone 프로젝트를 컴파일 할 수 있습니까?iOS 3.1.3 용 컴파일은 "아키텍처 i386에 대한 정의되지 않은 기호"를 제공합니다.

Base SDK "iOS 5.0"을 사용할 때 모든 것이 잘 작동하지만 응용 프로그램이 iOS 3.1.3에서 작동하는지 확인해야합니다.

저는 XCode 4.2를 사용합니다. 내 프레임 워크 모든 점 /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.3.sdk/...


BUILD LOG: 

Ld "***" normal i386 
    cd *** 
    setenv MACOSX_DEPLOYMENT_TARGET 10.5 
    setenv PATH "/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin" 
    /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/clang 
     -arch i386 -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.1.3.sdk 
     -L/Users/***/Library/Developer/Xcode/DerivedData/***/Build/Products/Debug-iphonesimulator 
     -F/Users/***/Library/Developer/Xcode/DerivedData/***/Build/Products/Debug-iphonesimulator 
     -filelist "/Users/***/Library/Developer/Xcode/DerivedData/***/Build/Intermediates/***.build/Debug-iphonesimulator/***.build/Objects-normal/i386/***.LinkFileList" 
     -mmacosx-version-min=10.5 
     -Xlinker -objc_abi_version 
     -Xlinker 2 -Xlinker -no_implicit_dylibs 
     -D__IPHONE_OS_VERSION_MIN_REQUIRED=30000 -lsqlite3 
     -framework Foundation -framework UIKit -framework CoreGraphics 
     -o "/Users/***/Library/Developer/Xcode/DerivedData/***/Build/Products/Debug-iphonesimulator/***.app/***" 

Undefined symbols for architecture i386: 
    "_OBJC_CLASS_$_NSAutoreleasePool", referenced from: 
    "_OBJC_CLASS_$_NSDictionary", referenced from: 
    "_OBJC_CLASS_$_NSDecimalNumber", referenced from: 
    "_OBJC_CLASS_$_NSMutableCharacterSet", referenced from: 
(and 50 more) 

ld: symbol(s) not found for architecture i386 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

답변

1

당신은 항상 최신 SDK에 대해 컴파일해야에 빌드 설정에서 MACOSX_DEPLOYMENT_TARGET을 변경하려고합니다. 구형 장치를 지원해야하는 경우 "배포 대상"빌드 설정을 변경하고 실제 장치에서 테스트해야합니다 (Apple이 더 이상 3.x 시뮬레이터를 제공하지 않으므로).

+0

이미 내 컴퓨터에 iOS3 시뮬레이터가 있습니다. 적어도 컴파일 타임에 문제를 감지 할 수 있기를 원합니다 (iOS4 이상에서만 사용할 수있는 메소드를 사용하는 코드가 문제가되어 iOS3과의 호환성이 깨졌습니다). – forthrin

0

문제가 장치/시뮬레이터과 더 것 같다 (i386은 iOS 3.1.3 vs iOS 5.0이 아닌 Mac의 인텔 칩을 나타냅니다).

0

프레임 워크를 제거하고 읽습니다.

+0

이 문제를 – forthrin

0

10.6 또는 Compiler Default

+0

ld에 영향을주지 않는다 : 라이브러리 -lcrt1.10.6.o
찾을 수 없습니다 내가 (A [게시] 발견 http://stackoverflow.com/questions/1365211/error-in-xcode-project-을 ld-library-not-found-for-lcrt1-10-6-o)를 사용했지만 문제가 해결되지 않았다.
누구나? – forthrin

관련 문제