Cocos2d-x 3.x, iOS용, 손잡이 Static Library 만드는 방법

3281 단어 cocos2d-x
Cocos2d-x의 3을 만지게 되고 나서, 어쩐지 2보다 빌드 느린-라고 생각했기 때문에, 몇개의 쪽의 정보를 참고로 static library를 작성하려고 생각했습니다.

먼저 말해 두면 진지한 분은 아래와 같은 분들의 정보를 참고하시는 것을 추천합니다.

h tp : 소 m/gー1/있어 MS/01f6C430326dfd125아f9
ぃ tp // 코 m / 카와 바타 몬 / ms / 8387b0054b06308 A8693
ぃ tp // 코 m / 아 짱 / ms / f7077483139c36 f9c9

그래서 자신도 만들려고했는데 원래
"Cocos2d-x는 Clean되지 않으면 문제가 되지 않는다"
라고 생각했기 때문에 다가가 Cocos2d-x를 Clean에서 분리하는 방법을 찾아 보았습니다.

하지만 찾을 수 없습니다.

표준 Clean 명령으로는 찾을 수 없기 때문에 한다면 커스텀 커맨드를 만들어야 한다.
「뭐든지 커스텀의 커맨드라고 해도 빌드된 것 지우면 좋을 뿐이고 적당하게 rm하면 되는 것은 아니다」

라고 생각해, ~/Library/Xcode/DerivedData/를 보고 있으면, 있을까요, a파일이. 생각해 보면 당연합니다만.

「응, 여기에 있는 a파일 사용하면 Rake라든지 사용하지 않아도 되는 것은 아니다」
라고 생각했으므로 시험해 보았습니다.

결론부터 말하면 자신의 환경에서는 사용할 수 있었습니다.

순서로서는 아래와 같은 느낌입니다.

1. 알맞은 Cocos2d-x 프로젝트 만들기
cocos new DummyProject -p com.company.dummy -l cpp -d ./projects/

2. a 파일을 원하는 대상을 선택하여 빌드

디바이스와 시뮬레이터로 하나씩 만들어 두면 충분하다고 생각합니다.
Release 빌드를 원하시는 분은 필요에 따라 Edit Scheme에서 변경하십시오.



3. ~/Library/Xcode/DerivedData/(프로젝트 이름)/Build/Products 아래에서 빌드된 a 파일 찾기
(Xcode의 설정으로 출력처를 바꾸고 있는 경우는 거기에서)



4. lipo로 디바이스용과 시뮬레이터용을 결합
lipo -create ./Release-iphoneos/libcocos2dx\ iOS.a ./Release-iphonesimulator/libcocos2dx\ iOS.a -output libcocos2dx\ iOS.a
(Cocos2d-x関連の各aファイル全てに行う)

5. 사용하려는 프로젝트에서 Cocos2d-x 관련 빌드의 TARGET 삭제
(헤더 파일은 사용하면 필요에 따라 cocos2d-x의 소스를 쫓고 싶을 때가 있으므로 cocos2d_libs.xcodeproj 자체는 삭제하지 않고 남겨 둡니다)



6. 방금 만든 a 파일을 프로젝트에 추가하십시오.



7. (゚д゚)우마

이 방법의 장점과 단점은

【메리트】
· Rake 라든지 xcodebuild 의 사용법을 잘 모르더라도 Xcode GUI 로 BuildSetting 라든지 설정할 수 있다

【단점】
・순서를 정리해 보면 역시 Rake 쪽이 편한 것이 아닌지 감이 있다
・Rake 커맨드 등은 한번 만들어 두면 이후에도 한 번으로 할 수 있으므로 편리

나는 StaticLib은 그렇게 그렇게 만들지 않을 것이므로, 일단 이것으로 잠시 사용해 보겠습니다.

추가:
static library로 바꾼 후, 경우에 따라서는, 링크시에 워닝이 나올지도 모릅니다.
"PIE disabled. Absolute addressing~~~"
이런 일이 나오면,
Dont create position independent executables 를 YES 로 합시다.

좋은 웹페이지 즐겨찾기