【Cmake】C++直接生成framework
2022-07-06 本文已影响0人
BillZhang88
如果C++想用在iOS项目中,我们可以直接把项目拖到项目用Xcode 工程去编译,同时我们也可以采用Cmake + shell 脚本去编译C++项目,直接生成.a或者dylib 或者framework,
因为涉及到动态库和静态库的问题,iOS 针对 动态的dylib 命令禁止没办法我们只能采用动态库生成framework 的办法
详细见代码
shell 脚本
cmake -G Xcode \
-DCMAKE_TOOLCHAIN_FILE=cmake/ios.toolchain.cmake \
-DPLATFORM=OS64 \
-DARCHS=arm64 \
-DENABLE_BITCODE=FALSE \
-DCMAKE_IOS_DEVELOPER_ROOT=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/ \
-
-B build_ios
set_target_properties(${PROJECT_NAME} PROPERTIES
XCODE_ATTRIBUTE_CLANG_ENABLE_OBJC_ARC "YES" #设置项目为arc
XCODE_ATTRIBUTE_FRAMEWORK_SEARCH_PATHS ""
XCODE_ATTRIBUTE_LIBRARY_SEARCH_PATHS ""
XCODE_ATTRIBUTE_LIBRARY_SEARCH_PATHS ""
FRAMEWORK TRUE
FRAMEWORK_VERSION A
MACOSX_FRAMEWORK_IDENTIFIER cn.bizconf.bizav
# MACOSX_FRAMEWORK_INFO_PLIST Info.plist #
"current version" in semantic format in Mach-O binary file VERSION 1.0.0
#SET(CMAKE_XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT "dwarf-with-dsym")
)