• protobuf在IOS中的使用


         google的官网目前只支持C++、java、pyhon,虽说网络上还有object-c的  但是安装时总有各种问题,所以直接下载官网的包最新版protobuf-2.5.0:http://code.google.com/p/protobuf/downloads/list

        2.   拷贝protobuf-2.5.0/src/google  整个目录至项目中 并再把protobuf-2.5.0/config.h文件拷到项目中
    3.   删除google目录中含有test字样的所有文件  参考:http://stackoverflow.com/questions/10277576/google-protocol-buffers-on-ios

    4.   Build Setting 中Header Search Paths  改变头文件引用的路径为本目录 递归
    5.     编译中遇到tr1的错误  删除含有tr1的字串  主要在config.h中
    6.    删除其中一些引用测试文件的include      #include

    7.  动态编译生成proto类文件  Builduild Rules中添加编译脚本:
      
         cd "$INPUT_FILE_DIR"   //转到当前被编译的文件目录
        /usr/local/bin/protoc  --cpp_out="$DERIVED_FILES_DIR"  "$INPUT_FILE_BASE.proto"  // protoc 为之前protobuf-2.5.0  解压安装生成的工具,注意改工具所在的路径,安装完一般在/usr/local/bin/protoc   
        $DERIVED_FILES_DIR 为xcode为每个项目编译时临时生成的一个数据文件目录,可以打印出来看下  只能编译输出到此目录,不能到当前项目根目录  不然编译会报错    

        cp "$DERIVED_FILES_DIR/$INPUT_FILE_BASE.pb.h" "$INPUT_FILE_DIR/$INPUT_FILE_BASE.pb.h"
        cp "$DERIVED_FILES_DIR/$INPUT_FILE_BASE.pb.cc" "$INPUT_FILE_DIR/$INPUT_FILE_BASE.pb.cc"
            //将生成的两个文件拷贝到项目根目录下

    注意这些个脚本的写法
         
    build setting中添加如下:
    Problem solved. I used "-lstdc++" flag to "Other Linker Flags" and "libz.dylib" library to "Link Binary With Libraries".

    百度云有demo
  • 相关阅读:
    GitLab 介绍
    git 标签
    git 分支
    git 仓库 撤销提交 git reset and 查看本地历史操作 git reflog
    git 仓库 回退功能 git checkout
    python 并发编程 多进程 练习题
    git 命令 查看历史提交 git log
    git 命令 git diff 查看 Git 区域文件的具体改动
    POJ 2608
    POJ 2610
  • 原文地址:https://www.cnblogs.com/cnsec/p/11515806.html
Copyright © 2020-2023  润新知