라이브러리만 미리 빌드해 둔다
5931 단어 cocos2d-x
cocos new
명령으로 새 프로젝트를 만들면 라이브러리를 포함한 모든 소스에서 빌드되도록 설정됩니다. 라이브러리 내의 세세한 움직임까지 조정할 수 있어 편리합니다만, 평상시 거의 편집하지 않는 것에 대해서는 조금 clean하고 싶을 때 어쩐지 1부터 풀 빌드 되어 버리는 것은, 무엇인가 귀찮습니다.ver3.3 근처에서 라이브러리만을 빌드하는 툴이 동봉되어 있으므로, 그것의 사용법을 소개합니다.
gen-prebuilt
tools/gen-prebuilt
아래 스크립트가 있습니다. README대로 gen_prebuilt_libs.py
=> module_organize.py
를 순서대로 실행하면 헤더와 객체가 생성됩니다. 전자는 라이브러리의 빌드를, 후자는 라이브러리와 필요한 헤더를 정리해 줍니다만, 프로젝트의 구성 나름으로는 후자는 불필요할지도 모릅니다. 그건 그렇고, cocos2d-x3.6과 xcode6.4에서 시도한 결과 오류가 발생했기 때문에 조금 수정했습니다.diff --git a/frameworks/cocos2d-x/build/cocos2d_libs.xcodeproj/project.pbxproj b/frameworks/cocos2d-~
index dfc045f..a64c03e 100644
--- a/frameworks/cocos2d-x/build/cocos2d_libs.xcodeproj/project.pbxproj
+++ b/frameworks/cocos2d-x/build/cocos2d_libs.xcodeproj/project.pbxproj
@@ -9524,7 +9524,6 @@
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
USER_HEADER_SEARCH_PATHS = "$(inherited) $(SRCROOT)/../external/free~
- VALID_ARCHS = "arm64 armv7";
};
name = Debug;
};
@@ -9556,7 +9555,6 @@
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
USER_HEADER_SEARCH_PATHS = "$(inherited) $(SRCROOT)/../external/free~
- VALID_ARCHS = "arm64 armv7";
};
name = Release;
};
diff --git a/frameworks/cocos2d-x/tools/gen-prebuilt/build_config.json b/frameworks/cocos2d-x/tools/~
index 0c250ef..9563a83 100644
--- a/frameworks/cocos2d-x/tools/gen-prebuilt/build_config.json
+++ b/frameworks/cocos2d-x/tools/gen-prebuilt/build_config.json
@@ -2,11 +2,11 @@
"xcode_proj_info" : {
"build/cocos2d_libs.xcodeproj" : {
"outputdir" : "prebuilt",
- "targets" :[ "build all libs" ]
+ "targets" :[ "libcocos2d" ]
},
"cocos/scripting/lua-bindings/proj.ios_mac/cocos2d_lua_bindings.xcodeproj" : {
"outputdir" : "prebuilt",
- "targets" : [ "build all lualibs" ]
+ "targets" : [ "libluacocos2d" ]
}
},
"win32_proj_info" : {
(※추기) 실기로 빌드하는 경우 등을 위해서, Build Active Architecture Only를 NO로 해 둡니다.
diff --git frameworks/cocos2d-x/build/cocos2d_libs.xcodeproj/project.pbxproj frameworks/cocos2d-x/build/cocos2d_libs.xcodeproj/project.pbxproj
index b66e1f8..a64c03e 100644
--- frameworks/cocos2d-x/build/cocos2d_libs.xcodeproj/project.pbxproj
+++ frameworks/cocos2d-x/build/cocos2d_libs.xcodeproj/project.pbxproj
@@ -9521,7 +9521,6 @@
"\"$(SRCROOT)/../external/websockets/prebuilt/ios\"",
"\"$(SRCROOT)/../external/chipmunk/prebuilt/ios\"",
);
- ONLY_ACTIVE_ARCH = NO;
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
USER_HEADER_SEARCH_PATHS = "$(inherited) $(SRCROOT)/../external/freetype2/include/ios $(SRCROOT)/../external/curl/include/ios $(SRCROOT)/../external/webp/include/ios $(SRCROOT)/../external/tiff/include/ios $(SRCROOT)/../external/jpeg/include/ios $(SRCROOT)/../external/png/include/ios $(SRCROOT)/../external/websockets/include/ios $(SRCROOT)/../external/chipmunk/include/chipmunk $(SRCROOT)/../external/freetype2/include/ios/freetype2";
diff --git frameworks/cocos2d-x/cocos/scripting/lua-bindings/proj.ios_mac/cocos2d_lua_bindings.xcodeproj/project.pbxproj frameworks/cocos2d-x/cocos/scripting/lua-bindings/proj.ios_mac/cocos2d_lua_bindings.xcodeproj/project.pbxproj
index df1cdb5..f3bd4c3 100644
--- frameworks/cocos2d-x/cocos/scripting/lua-bindings/proj.ios_mac/cocos2d_lua_bindings.xcodeproj/project.pbxproj
+++ frameworks/cocos2d-x/cocos/scripting/lua-bindings/proj.ios_mac/cocos2d_lua_bindings.xcodeproj/project.pbxproj
@@ -1256,7 +1256,6 @@
HEADER_SEARCH_PATHS = "";
IPHONEOS_DEPLOYMENT_TARGET = 5.1;
LIBRARY_SEARCH_PATHS = "$(SRCROOT)/../../../../external/lua/luajit/prebuilt/ios";
- ONLY_ACTIVE_ARCH = NO;
PRODUCT_NAME = "libluacocos2d iOS";
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
연결하다
나머지는 링크하기만 하면 됩니다. 먼저 원래 있던 라이브러리에 대한 참조를 지웁니다.
파일 자체는 남겨두지 않기 때문에 MoveTrash하지 않고 RemoveReference합니다. 의존 관계도 xcode가 좋게 해주므로 지우는 것만으로 괜찮습니다.
다른 라이브러리와 마찬가지로 TARGETS => General => Linked Frameworks and Libraries에서 추가합니다.
Reference
이 문제에 관하여(라이브러리만 미리 빌드해 둔다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/blankblank/items/02c65c1aef12ed5abbbe텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)