日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > google protobuf學習筆記一:windows下環境配置

google protobuf學習筆記一:windows下環境配置

來源:程序員人生   發布時間:2015-06-06 08:25:55 閱讀次數:6008次

歡迎轉載,轉載請注明原文地址:http://blog.csdn.net/majianfei1023/article/details/45371743


protobuf的使用和原理,請查看:http://blog.csdn.net/majianfei1023/article/details/45112415

Windows下google protobuf開發環境配置

最近項目需求,Client與Server的網絡通訊協議傳輸使用google protobuf rpc。對Protobuf,之前是只知道有這個東西,知道它干嗎,而且1直很敬慕,但是歷來沒學習過,最近恰好趁著項目機會,好好學習學習。

這篇主要講,在windows下用vs2012配置google protobuf開發環境。

1.準備工作:

1.Windows7或其他Windows系統.


2.Visual Studio 2012或其他版本VS.


3.protobuf:我使用的是最新版本的protobuf(protobuf⑵.6.1)。

windows下,需要下載兩個包:

protobuf⑵.6.1.tar.bz2 (protobuf所有的源碼都在里面,用它進行編譯成lib庫)

protoc⑵.6.1-win32.zip(內涵protoc.exe,用來把proto文件編譯成目標語言(C++,Java,Python)的文本,是google protobuf定義的格式。其實這個文件不是必須的,編譯protobuf⑵.6.1.tar.bz2的時候會生成這個exe)

去官網下載protobuf的source code和編譯工具:https://developers.google.com/protocol-buffers/docs/downloads


然后解壓:我本地的路徑是D:protobuf⑵.6.1


2.配置環境:


1.進入 D:protobuf⑵.6.1vsprojects,用vs2012運行protobuf.sln,然后build solution。

這些大家都會,我就不羅嗦了。

然后你就會發現,D:protobuf⑵.6.1vsprojectsDebug目錄下出現了很多內容,最重要的幾個就是:libprotobuf.lib,libprotobuf-lite.lib,libprotoc.libprotoc.exe


2.D:protobuf⑵.6.1examples本來是有例子的,我們親身實踐下,動手自己在此目錄下定義1個proto:

package tutorial; message Person { required string name = 1; required int32 age = 2; optional string email = 3; }
然后使用cmd運行protoc.exe生成我們的目標語言格式(c++).

cd D:protobuf⑵.6.1vsprojectsDebug

D:protobuf⑵.6.1vsprojectsDebug>protoc -I=D:protobuf⑵.6.1examples --cpp_out=D:protobuf⑵.6.1examples D:protobuf⑵.6.1examplesperson.proto

然后可以看到,生成了person.pb.hperson.pb.cc的文件。

3.我們用vs2012新建1個空的項目,選擇屬性,配置1下:



點擊 配置屬性 下的 C/C++ 常規,右側附加包括目錄,導入這個路徑D:protobuf⑵.6.1src

點擊鏈接器常規,右側的附加庫目錄,導入這個路徑D:protobuf⑵.6.1vsprojectsDebug



3.開始1個最簡單的項目

好了,1切配置好了,該寫代碼了,我們做1個最簡單的輸入輸出。新建1個main.cpp,然后把之前生成的person.pb.h和person.pb.cc復制到項目里面,并添加到項目里面。

#include <iostream> #include "person.pb.h" using namespace std; using namespace tutorial; int main() { Person person; person.set_name("flamingo"); person.set_age(18); cout<<person.name()<<endl; cout<<person.age()<<endl; system("pause"); return 0; }


有些人說可以正常運行,但是我這邊不行,主要是


網上查找緣由,終究發現,需要在代碼里面加兩行:


#pragma comment(lib, "libprotobuf.lib") #pragma comment(lib, "libprotoc.lib")


就可以正常跑了:



protobuf的使用和原理,請查看:http://blog.csdn.net/majianfei1023/article/details/45112415

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 日韩中文字幕在线视频 | 精品国产免费久久久久久尖叫 | 亚洲日本欧美日韩高观看 | 午夜av免费在线观看 | 丁香婷婷网 | 日韩专区在线播放 | 国产精品一区二区免费 | 精品国产一区二区三区麻豆小说 | 人成在线 | 国产福利一区二区 | www国产亚洲精品久久网站 | 国产毛片网 | 成人av福利 | 欧美色综合一区二区三区 | 国产精品美女久久久久aⅴ国产馆 | 97久久久| 久久国内 | 日韩精品一区二区三区在线播放 | 午夜免费网站 | 欧美人成在线视频 | 久久国产精品免费 | 亚洲最新色 | 国产精品一区一区三区 | 日韩一区欧美一区 | 国产精品国产三级国产aⅴ原创 | 黄色片网站免费 | 国产视频高清 | 国产专区一区二区三区 | 在线免费国产 | 亚洲第一av在线 | 日韩久久久久久久久久久久 | 91香蕉视频导航 | 日韩av免费在线 | 国产美女一区二区三区 | 66精品| 国产玖玖 | 91精品国产综合久久久久久 | 91麻豆国产| 婷婷在线综合 | 亚洲日韩欧美一区二区在线 | 精品久久一区二区三区 |