2011-12-02 4 views
3

먼저 다른 스레드/게시물 참조를 위해 다른 프로토콜을 사용하고 싶다면 용서 해주십시오.iOS 용 정적 라이브러리 빌드 - 구체적으로 spatialite

이전 답변 how to compile spatialite for iOS 위로 대답은 부분적으로 iOS 용 정적 라이브러리로 spatialite 빌드를 설명했습니다. 대답은 텍스트를 포함 :

"일단 드래그 앤 드롭 (둘 다 시뮬레이터와 실제 하드웨어에서 작동해야합니다.), 당신은 spatialite_init(1)을 호출하여 spatialite를 초기화 할 수 있습니다."

나는이게 다음의 일부 버전으로 번역 된 것 같네요?

엑스 코드 4

  1. 파일 -> 새로 만들기 -> 새 Target-> iOS-> 프레임 워크 & 도서관 -> 코코아 터치 정적 라이브러리

  2. 이름 라이브러리 - libSpatialite_TedS

  3. 헤더 파일을 libSpatialite_TedS -> Copy Headers로 드래그하십시오 (여기에 질문 ... 'spatialite2.3.1.zip'다운로드의 'headers'디렉토리에 spatialite.h 파일이 있습니다.) 그런 다음 'spatialite'하위 디렉토리에 다른 에스 patialite.h는 동일한 파일이 아니며 분명히 필요합니다. 머리글 파일을 'headers'디렉토리에서 드래그 한 다음 'spatialite'디렉토리를 Xcode 정적 라이브러리 'myNewLibrary'의 'Copy Headers'영역으로 드래그합니까?

  4. '.a 파일 'libSPATIALITE2.3.1_arm.a & libSPATIALITE2.3.1_x86.a

  5. '컴파일 소스 '입력란에이 헤더와 함께 사용할'.m '파일이 없어야합니까? I '명령-B'가 구축 내 프로젝트의 libSpatialite_TedS를 참조하지 않고 지금

는 프로젝트 빌드가 성공합니다. 그러나, 나는

에서 컴파일 된 제품을 볼 때

/사용자/관리/라이브러리/개발자/엑스 코드/DerivedData/MyProject를-gutnkbwqqonzgxbcmfzzzkadqhid/구축/제품/

내가 빌드의 제품을 볼 출시-iphonesimulator , libSpatialite_TedS는 포함되지 않습니다.

컴파일러가 '스마트'하고 헤더/.a 파일이 프로젝트에서 참조되지 않아서 컴파일을 방해하지 않으므로이 작업이 필요합니까?

원래의 포스터 how to compile spatialite for iOS의 목표를 달성하는 올바른 방법입니까?

많은 감사, 테드 S

답변

3

나는 대상에서 libstC++. dylib 및 libiconv.dylib도 원래 포스터와 링커 오류로 실행,하지만 libsqlite3.dylib을 포함하여 그것을 해결했다.

희망이 도움이됩니다.

2

테드, 나는 그것을 믿습니다.(정적 라이브러리) 파일과 헤더는 설명 된대로 다른 정적 라이브러리가 아닌 프로젝트에서 즉시 사용하도록되어 있습니다. 그것들은 프로젝트의 결과물입니다.

What is a .a (as libcrypto.a) file?

편집을 할 여기

다른 링크입니다 : 정적 라이브러리 파일에 대한 좀 더

http://lionel.gueganton.free.fr/spatialite/

그리고 : 난 당신이 여기를 구축 프로젝트를 찾을 수 있다고 생각 도움이 될만한 정보 iOS의 정적 라이브러리 빌드 과정에 대한 요약입니다. http://www.icodeblog.com/2011/04/07/creating-static-libraries-for-ios/