歡迎轉(zhuǎn)載,轉(zhuǎn)載請注明原文地址:http://blog.csdn.net/majianfei1023/article/details/45371743
protobuf的使用和原理,請查看:http://blog.csdn.net/majianfei1023/article/details/45112415
Windows下google protobuf開發(fā)環(huán)境配置
最近項(xiàng)目需求,Client與Server的網(wǎng)絡(luò)通訊協(xié)議傳輸使用google protobuf rpc。對Protobuf,之前是只知道有這個(gè)東西,知道它干嗎,而且1直很敬慕,但是歷來沒學(xué)習(xí)過,最近恰好趁著項(xiàng)目機(jī)會,好好學(xué)習(xí)學(xué)習(xí)。
這篇主要講,在windows下用vs2012配置google protobuf開發(fā)環(huán)境。
1.準(zhǔn)備工作:
1.Windows7或其他Windows系統(tǒng).
2.Visual Studio 2012或其他版本VS.
3.protobuf:我使用的是最新版本的protobuf(protobuf⑵.6.1)。
windows下,需要下載兩個(gè)包:
protobuf⑵.6.1.tar.bz2 (protobuf所有的源碼都在里面,用它進(jìn)行編譯成lib庫)
protoc⑵.6.1-win32.zip(內(nèi)涵protoc.exe,用來把proto文件編譯成目標(biāo)語言(C++,Java,Python)的文本,是google protobuf定義的格式。其實(shí)這個(gè)文件不是必須的,編譯protobuf⑵.6.1.tar.bz2的時(shí)候會生成這個(gè)exe)
去官網(wǎng)下載protobuf的source code和編譯工具:https://developers.google.com/protocol-buffers/docs/downloads
然后解壓:我本地的路徑是D:protobuf⑵.6.1
2.配置環(huán)境:
1.進(jìn)入 D:protobuf⑵.6.1vsprojects,用vs2012運(yùn)行protobuf.sln,然后build solution。
這些大家都會,我就不羅嗦了。
然后你就會發(fā)現(xiàn),D:protobuf⑵.6.1vsprojectsDebug目錄下出現(xiàn)了很多內(nèi)容,最重要的幾個(gè)就是:libprotobuf.lib,libprotobuf-lite.lib,libprotoc.lib和protoc.exe
2.D:protobuf⑵.6.1examples本來是有例子的,我們親身實(shí)踐下,動手自己在此目錄下定義1個(gè)proto:
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.h和person.pb.cc的文件。
3.我們用vs2012新建1個(gè)空的項(xiàng)目,選擇屬性,配置1下:
點(diǎn)擊
配置屬性 下的 C/C++ 的
常規(guī),右側(cè)附加包括目錄,導(dǎo)入這個(gè)路徑D:protobuf⑵.6.1src
點(diǎn)擊鏈接器 的常規(guī),右側(cè)的附加庫目錄,導(dǎo)入這個(gè)路徑D:protobuf⑵.6.1vsprojectsDebug
3.開始1個(gè)最簡單的項(xiàng)目
好了,1切配置好了,該寫代碼了,我們做1個(gè)最簡單的輸入輸出。新建1個(gè)main.cpp,然后把之前生成的person.pb.h和person.pb.cc復(fù)制到項(xiàng)目里面,并添加到項(xiàng)目里面。
網(wǎng)上查找緣由,終究發(fā)現(xiàn),需要在代碼里面加兩行:
protobuf的使用和原理,請查看:http://blog.csdn.net/majianfei1023/article/details/45112415