zoukankan      html  css  js  c++  java
  • protobuf 系列 ---------下载、编译与使用

             protobuf是谷歌开发并开源的二进制序列化工具,比常用的xml,json体积更小,解析速度更快。

             

             目前,手头上的项目有涉及到这个工具,打算仔细研究一番,顺带记录遇到的问题,解决方法,时间足够的话,深入探究下源码。

             今天主要记录下怎么下载源码,怎么成功编译。本人的平台是windows,编译器用的是vs2010。

             源码下载:https://github.com/google/protobuf.git

             本人下载到本地目录为:E:codeprotobufstudygithub

             

            下载完成后的目录结构如上。

            怎么编译的话里面有份文档解释的非常清楚

           

          

           考虑到有些人不喜欢看英文,我再把我的编译过程展示下。

           一:前期准备:CMake工具,可以去官网下载二进制版本的。https://cmake.org/download/

           

              安装到本地后,如 C:Program FilesCMakein ,然后打开命令行设置下环境变量E:codeprotobufstudygithub>set PATH=%PATH%;C:Program Files (x86)CMakein

              (ps:命令行最好切换到下载的源码目录下,这样与本人讲述的一致)

              这时就能使用cmake命令了,否则会说cmake不是内部命令什么的。

              然后进入源码目录,E:codeprotobufstudygithub>cd trunk
                                       E:codeprotobufstudygithub runk>

              进入源码下面的cmake目录,E:codeprotobufstudygithub runk>cd cmake

                                                  E:codeprotobufstudygithub runkcmake>

               创建build目录,E:codeprotobufstudygithub runkcmake>mkdir build & cd build

                                    E:codeprotobufstudygithub runkcmakeuild>

               创建solution目录, E:codeprotobufstudygithub runkcmakeuild>mkdir solution & cd solution

                                         E:codeprotobufstudygithub runkcmakeuildsolution>

               执行cmake指令,cmake -G "Visual Studio 10 2010 Win64" ^

                                               -DCMAKE_INSTALL_PREFIX=../../../../install ^
                                                ../..                 (暂且叫cmake指令1)                    

               如果会报错误,找不到cl.exe,请设置下cl.exe的环境变量

               E:codeprotobufstudygithub runkcmakeuildsolution>set PATH=%PATH%;C:Program Files (x86)Microsoft Visual Studio 11.0VCin  (这个是你本地的cl.exe所在目录)

               再次执行cmake指令1,如果还报错误,找不到mspdb100.dll,请设置下mspdb100.dll的环境变量

               E:codeprotobufstudygithub runkcmakeuildsolution>set PATH=%PATH%;D:Program Files (x86)Microsoft Visual Studio 10.0Common7IDE  (这个是你本地的mspdb100.dll所在目录)

               再次执行cmake指令1,如果还报错误,没有找到gmock目录,要么下载下gmock,https://github.com/google/googlemock.git 目录为E:codeprotobufstudygithub runkgmock,

               本人懒,没有下载,那么久更改下cmake执行。

               执行cmake指令,cmake -G "Visual Studio 10 2010 Win64" ^

                                                -Dprotobuf_BUILD_TESTS=OFF ^

                                               -DCMAKE_INSTALL_PREFIX=../../../../install ^
                                                ../..                 (暂且叫cmake指令2)      

                这时在solution目录下就会有相应的.sln了。

                

                            打开编译即可,本人编译的release,编译的成果

                            

           

              

  • 相关阅读:
    [LeetCode] Minimum Depth of Binary Tree 二叉树最小深度
    [LeetCode] Intersection of Two Linked Lists 两链表是否相交
    [LeetCode] Permutations II 排列
    [LeetCode] Maximum Product Subarray 连续数列最大积
    Ncut matlab 代码bug 修复
    [LeetCode] Jump Game II 贪心
    【poj2182】【poj2828】树状数组/线段树经典模型:逆序查找-空位插入法
    【hdu1828/poj1177】线段树求矩形周长并
    【hdu1255】线段树求矩形面积交
    【hdu1542】线段树求矩形面积并
  • 原文地址:https://www.cnblogs.com/xuhuajie/p/6890252.html
Copyright © 2011-2022 走看看