使用cMake跨iOS平台编译过程以及配置

iOS平台编译方法及问题

  • 跨iOS编译过程
    • 修改工程目下的cmakelist.txt文件
  • 默认开启VR_BUILD_PLATFORM_IPHONE,否则cmake时很多报错。
  • 修改iphone版本,设置C++编译器,设置sdk目录


IF(IPHONE_VERSION_MIN LESS "6.0")

       include(CMakeForceCompiler)

       CMAKE_FORCE_C_COMPILER(llvm-gcc-4.2 GNU)

       CMAKE_FORCE_CXX_COMPILER(llvm-gcc-4.2 GNU)

       SET(GCC_THUMB_SUPPORT NO)

    ENDIF()


IF(VR_BUILD_PLATFORM_IPHONE)

    SET (IPHONE_DEVROOT "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer")

    SET (IPHONE_SDKROOT "${IPHONE_DEVROOT}/SDKs/iPhoneOS${IPHONE_SDKVER}.sdk")

ELSE()

  SET (IPHONE_DEVROOT "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer")

      SET (IPHONE_SDKROOT "${IPHONE_DEVROOT}/SDKs/iPhoneSimulator${IPHONE_SDKVER}.sdk")

    ENDIF()

  • 默认关闭VR_GL1_AVAILABLE,只开启VR_GL2_AVAILABLE

OPTION(VR_GL1_AVAILABLE "Set to OFF to disable use of OpenGL 1.x functions library."OFF)

  • 默认关闭DYNAMIC_VRSTAR,使用静态编译
  • 设置第三方依赖资源


  • 设置c++标准库


IF (APPLE)

            # set standard lib, clang defaults to c++0x

            set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LANGUAGE_STANDARD "c++98")

            set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LIBRARY "libstdc++")

            set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++98 -stdlib=libstdc++ -Wno-overloaded-virtual -Wno-conversion")

            set(WARNING_CFLAGS "")

        ENDIF()

  • 设置xcode工程的部分属性




    • CMakeModules目录下添加相应的第三方Findxx.cmake脚本文件

配置第三方库的查找头文件路径,库全路径等,注意大小写。

    • Cmaker工具将cmakelist.txt拖入窗口


    • 生成路径默认为cmakelist.txt所在目,可更改(新建build文件)。
    • “Configure”选项配置,平台默Xcode即可。
    • 主要设置选项




    • “Configure”,直到配置成功。
    • 最后点“Generate”,生成Xcode工程。


    • VRStar.xcodeproj,修改工程属性

1)总工程与各工程的Architectures改为标准结构,否则源码不能编译






    • 根据ipad设备版本,修改IOS开发目标


    •   build工程,快捷command+B,运行command+R
  • C++源码跨IOS注意事项
    • 包含头文件有子目分隔符必用“/”,否则不识别\”
    • VRString.cpp toString()中,Size_t 不同平台定义不同.win32中win64时为unsinged long long;IOS下为unsigned long,总是重定暂时去掉
    • 不要使用UInt32,与IOS中重复定义,改为_uint或unsinged int

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值