vs2008 2010 2013初次嘗試配置protobuf

1)首先上網搜索了一下,找到以下地址:

https://github.com/google/protobuf

但是這麼多版本選哪個呢,頓時懵了。

需要編譯windows 的vs版本,找了一下,好像只有2.6.1目錄下有vsprojects,所以就它了。

Switch branches/tags ->tags->2.6.1->Clone or download->Download Zip

下載好之後,解壓。


2)接下來先不忙着編譯,先配置路徑和環境變量。

比如我的路徑配置是:

  在C:\下新建目錄“ProtoBuf\protobuf-2.6.1\{bin,lib\{vs9.0,vs10.0,vs12.0},src}”。

  然後配置環境變量,新增“PROTOBUF_ROOT”,值爲“C:\ProtBuf\protobuf-2.6.1”。

  然後修改Path環境變量,Path=%Path%;%PROTOBUF_ROOT%\bin。


3)進入目錄\protobuf-2.6.1\vsprojects

因爲我機器上有vs2008,vs2010,vs2013,所以我編譯了支持三個版本的protobuf庫。


4)編譯vs2008支持的庫

首先使用vs2008打開.sln文件,其中有兩個gtest的項目可能加載不成功,不用管,不會影響後續編譯,然後[debug][win32] rebuild all,如果編譯有失敗,請重新逐個工程編譯。全部編譯完成後,在\protobuf-2.6.1\vsprojects\debug目錄中會出現3個.lib文件和一個.exe文件,.exe可以不用管,將三個.lib文件拷貝出來分別重命名成<原文件名>d.lib,這是我們後續用到protobuf時需要鏈接的庫文件。同樣切換[release][win32] rebuild all,找到\protobuf-2.6.1\vsprojects\release下的三個.lib,拷貝出來和debug的三個文件一起放在步驟2配置好的“C:\ProtBuf\protobuf-2.6.1\lib\vs9.0”目錄。


5)編譯vs2010支持的庫

用vs2010打開.sln文件,編譯過程同vs2008,注意debug改名。然後將生成的6個.lib放在“C:\ProtBuf\protobuf-2.6.1\lib\vs10.0”目錄。


6)編譯vs2013支持的庫

用vs2010打開.sln文件,編譯過程同vs2008,注意debug改名。然後將生成的6個.lib放在“C:\ProtBuf\protobuf-2.6.1\lib\vs12.0”目錄。


7)拷貝下載的zip中“\protobuf-2.6.1\src”到“C:\ProtBuf\protobuf-2.6.1\src”目錄。


8)將上面生成的某一個release版本的“protoc.exe”拷貝到“C:\ProtBuf\protobuf-2.6.1\bin”目錄。


經過以上過程,支持vs2008,vs2010,vs2013的32位protobufs sdk就完成了。

接下來需要配置vs來完成對protobuf的使用。


vs2008在“工具->選項->項目和解決方案->VC++目錄”中,“包含文件”中增加“$(PROTBUF_ROOT)\src”,“庫文件”中增加“$(PROTBUF_ROOT)\lib\vs9.0”。
然後編寫.proto文件,命令行調用“protoc --cpp_out=. xxx.proto”,將生成的.h和.cc文件放到vs2008的工程中,就可以使用protobuf了。

vs2010和vs2013需要在項目屬性中設置以增加包含probuf包含文件路徑和增加包含probuf庫文件路徑。
注意:vs2010的庫路徑需要改成“$(PROTBUF_ROOT)\lib\vs10.0”,vs2013的庫路徑需要改成“$(PROTBUF_ROOT)\lib\vs12.0”。

好了,自己試一下吧。
發佈了33 篇原創文章 · 獲贊 6 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章