【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")

)
上一篇下一篇

猜你喜欢

热点阅读