当前位置: 首页 > news >正文

做网站做的东营破产信息网官网

做网站做的,东营破产信息网官网,ppt哪个网站做的好,自己做一网站_多做宣传.文章目录 Github代码仓库位置一、Windows环境配置生成库文件之后—参考3.3 配置VS1. 先将平台设置为所有平台2. 配置属性 C/C 常规 附加包含目录3. 配置属性 C/C 预处理器 预处理器定义,添加4. 配置属性 C… 文章目录 Github代码仓库位置一、Windows环境配置生成库文件之后—参考3.3 配置VS1. 先将平台设置为所有平台2. 配置属性 C/C 常规 附加包含目录3. 配置属性 C/C 预处理器 预处理器定义,添加4. 配置属性 C/C 代码生成 运行库 选择多线程调试(/Mtd)根据自己的5. 配置属性 链接器 常规 附加库目录, 添加6. 配置属性 链接器 输入 附加依赖项, 添加 二、Linux Centos环境配置三、Wnidows环境下protobuf测试3.1 新建.proto文件生成相应的类3.2 .proto生成相应的类的使用3.3 配置VS1. 先将平台设置为所有平台2. 配置属性 C/C 常规 附加包含目录3. 配置属性 C/C 预处理器 预处理器定义,添加4. 配置属性 C/C 代码生成 运行库 选择多线程调试(/Mtd)5. 配置属性 链接器 常规 附加库目录, 添加6. 配置属性 链接器 输入 附加依赖项, 添加 3.4 test代码 Github代码仓库位置 https://github.com/Chufeng-Jiang/OpenSSL_Secure_Data_Transmission_Platform/tree/main/Protobuf 一、Windows环境配置 在windows下配置无论protobuf是什么版本IDE和编译器的版本都要保持一致。 比如protobuf的cpp使用在cmake生成工程的时候选择了对应的IDE及A编译器就应该在同样使用A编译器的及对应版本的IDE上运行否则容易报错。 我使用cmake3.27因为cmake3.27在configure的时候有vs2022的选项但是别的版本不一定有vs2022。在使用cmake3.27对protobuf3.17源文件生成工程后对应的输出文件夹下会生成vs的sln文件再使用对应版本的vs2022进行编译生成protoc执行文件和库文件。 这里面有一个坑在vs2022进行编译的时候如果使用debug对protobuf-cpp工程进行编译生成库文件那么后期在使用库文件时候就要在对应的工程上指定相应的运行库和附加依赖项目。 配置环境 操作系统windows10 Visual Studiovs2022社区版 Cmake版本cmake3.27.7 Protobuf版本protobuf3.17和对应的cpp文件包具体的安装过程可以参考以下视频大概半个小时就弄好了。 protobuf的安装版本protobuf3.17cmakevs2022 生成库文件之后—参考3.3 配置VS 在工程中添加编译好的类文件 接下来的步骤比较关键 1. 先将平台设置为所有平台 2. 配置属性 C/C 常规 附加包含目录 选择google文件夹所在的目录应该是下载的protobuf对应版本下的src文件夹包含google文件也可以把google文件夹单独拿出来新建include文件夹我的是 D:\ProgramData\protobuf\protobuf-3.17.2\src3. 配置属性 C/C 预处理器 预处理器定义,添加 _CONSOLE; _SCL_SECURE_NO_WARNINGS; _PROTOBUF_USE_DLLS4. 配置属性 C/C 代码生成 运行库 选择多线程调试(/Mtd)根据自己的 在使用Visual Studio链接依赖库时经常性的会出现下面几种错误 error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MTd_StaticDebug” error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”列表中的第一个错误是静态库的Release、Debug版本引起的只需要知道对应的库是Release、还是Debug做相应的修改就行 列表中的第二个错误是要引用的是静态库但是配置成动态库导致的只需要修改成”多线程(/Mtd)“就可。 别的报错还可以参考或者排列组合都试试 error LNK2038: 检测到“RuntimeLibrary”的不匹配项 5. 配置属性 链接器 常规 附加库目录, 添加 这里添加的是protobuf生成的动态库的目录 D:\ProgramData\protobuf\build\Debug6. 配置属性 链接器 输入 附加依赖项, 添加 *d.lib是在Debug模式下生成的库文件 libprotobufd.lib; libprotocd.lib二、Linux Centos环境配置 1、下载必要的编译环境 sudo yum install autoconf automake libtool curl make gcc-c unzip 2、下载安装包并发送到Linux服务器上新建的protobuf文件夹 3、解压缩并将整个文件夹移动到系统目录下 sudo mv -f protobuf /usr/local/ 4、修改环境变量 sudo vim /etc/profile # 添加内容如下 #(动态库搜索路径) 程序加载运行间查找动态链接库时指定除了系统默认路径之外的其他路径 export LD_LIBRARY_PATH$LD_LIBRARY_PATH:/usr/local/protobuf/lib/ #(静态库搜索路径) 程序编译期间查找动态链接库时指定查找共享库的路径 export LIBRARY_PATH$LIBRARY_PATH:/usr/local/protobuf/lib/ #执行程序搜索路径 export PATH$PATH:/usr/local/protobuf/bin/ #c程序头文件搜索路径 export C_INCLUDE_PATH$C_INCLUDE_PATH:/usr/local/protobuf/include/ #c程序头文件搜索路径 export CPLUS_INCLUDE_PATH$CPLUS_INCLUDE_PATH:/usr/local/protobuf/include/5、验证安装 protoc --version 三、Wnidows环境下protobuf测试 假设要序列化的数据为 // 要序列化的数据 struct Persion {int id;string name;string sex; // man womanint age; };3.1 新建.proto文件生成相应的类 syntax proto3;message Persion {int32 id 1; // 编号从1开始repeated bytes name 2;string sex 3;int32 age 4; }新建.proto文件 syntax proto3;message Persion {int32 id 1; // 编号从1开始repeated bytes name 2;string sex 3;int32 age 4; }打开终端输入命令自动生成相应的类可以直接放到工程中用 protoc Persion.proto --cpp_out./ 3.2 .proto生成相应的类的使用 创建一个空项目把上面生成的类放到工程文件下并添加现有项 3.3 配置VS 在工程中添加编译好的类文件 接下来的步骤比较关键 1. 先将平台设置为所有平台 2. 配置属性 C/C 常规 附加包含目录 选择google文件夹所在的目录应该是下载的protobuf对应版本下的src文件夹也可以单独拿出来我的是 D:\ProgramData\protobuf\protobuf-3.17.2\src3. 配置属性 C/C 预处理器 预处理器定义,添加 _CONSOLE; _SCL_SECURE_NO_WARNINGS; _PROTOBUF_USE_DLLS4. 配置属性 C/C 代码生成 运行库 选择多线程调试(/Mtd) 5. 配置属性 链接器 常规 附加库目录, 添加 这里添加的是protobuf生成的动态库的目录 D:\ProgramData\protobuf\build\Debug6. 配置属性 链接器 输入 附加依赖项, 添加 *d.lib是在Debug模式下生成的库文件 libprotobufd.lib; libprotocd.lib3.4 test代码 #include iostream #include Persion.pb.h using namespace std; /*message Persion{int32 id 1; // 编号从1开始string name 2;string sex 3;int32 age 4;} */ int main() {// 1. 创建persion对象, 并初始化Persion p;p.set_id(1001);// 申请一块内存, 存储名字p.add_name();p.set_name(0, 路飞);p.set_sex(man);p.set_age(17);// 2. 将persion对象序列化 - 字符串string output;p.SerializeToString(output);cout 序列化后的数据: output endl;// 3. 数据传输// 4. 接收数据, 解析(output) - 解码 - 原始数据// 4.1 创建Persion对象Persion pp;pp.ParseFromString(output);// 将Info对象值取出// 5. 处理原始数据 - 打印数据信息cout id: pp.id() , name: pp.name(0) , , sex: pp.sex() , age: pp.age() endl;return 0; }
http://www.w-s-a.com/news/897737/

相关文章:

  • 家政服务网站源码重庆建网站企业有哪些
  • 怎样分析一个网站做的好坏重庆长寿网站设计公司哪家专业
  • 百度助手app下载苏州seo关键词优化排名
  • 17网站一起做 佛山诸城网站建设多少钱
  • 郑州网站建设培训学校泉州做网站设计公司
  • 西峡做网站深圳建筑工务署官网
  • 单县网站惠州seo计费
  • 万网网站建设 优帮云怎样用记事本做网站
  • 注册域名后网站建设百度指数的功能
  • 怎么做伪静态网站山西网站建设设计
  • 做小型企业网站多少钱衡阳市建设局网站
  • 金华专业网站建设公司网站建设空间和服务器方式
  • 自己做的网站在浏览器上显示不安全吗wordpress revolution slider
  • 西安网站建设推广优化搜索引擎营销
  • 互联网站备案管理工作方案 工信部注册深圳公司需要什么条件
  • 网站网站服务器网站建设 物流
  • 国外开发网站手机网站建设制作
  • 怎么把自己做的网站传网上青岛工程建设监理公司网站
  • 网站301跳转效果商丘网站公司
  • 公司网站建设西安网站的架构与建设
  • 食品科技学校网站模板花溪村镇建设银行网站
  • 图片渐隐 网站头部flash地方志网站建设自查报告
  • 深圳做商城网站视觉品牌网站建设
  • 永康电子商务网站建设弹幕网站怎么做
  • 百川网站企业做网站要注意哪些
  • 球迷类的网站如何做网站建设需要哪些素材
  • 请问有重庆有做网站吗电子政务系统网站建设的基本过程
  • 建设银行管方网站官网最新版cmsv6
  • 网站开发工程师需要会写什么深圳网站(建设信科网络)
  • 台州网站搭建网站建设需求计划