------- 17.9.17更新 ---
以下這些方法都是扯淡,對我的機器不適用,我后來花了最后成功安裝並親測可用的方法不是靠vs編過的,vs生成的庫引入后函數全部報undefine reference to...的錯誤;
我前前后后花了半個月的空閑時間(其實是拖了半個月)+幾個周末 來弄,始終就是死活硬是各種不對,
按照了網上的這段話的描述設置了 也不行。
“
”
今天發現CMAKE里編譯器里除了默認VS的選項外,還有一大堆,我選了mingw,電腦里也裝了,然后,,一次就成功了!我大概了解makefile和CMAKE的一些原理,具體到一些參數設置也不知道。
好,重點來了。
相關設置
選擇這個選項
configue -> generate后退出CMAKE
進入上上圖設置的build-mingw目錄,執行命令:
>> make ( 等待~~)
>> make install
然后在上上圖設置的prefix目錄中就會有我們想要的文件啦!include文件夾和lib文件夾。
libprotobuf.dll有8.6M;原來方法生成的只有1M左右。。。
最后就把文件放置到相應位置。
新的:
鏈接:http://pan.baidu.com/s/1bYYnDG 密碼:o6o6
---------------------------
我不相信windows了,坑 :(
------ 以下是原文 -----
百度了很久,所介紹的方法很多都不適用,搜出來的文章都是找到vs的工程文件然后balabala...,但因為gihub上的最新版本protobuf3.3.0,是不帶vs的工程文件了,官方的readme感覺有點偏Linux平台,我卡了很久。
后來一想,讓搜索引擎的結果只呈現近1年的結果,直接就有了。需要自己用CMAKE工具進行MAKE生成VS工程文件,過程其實並不難。
以下是原文:
一、下載protobuf
下載地址:https://github.com/google/protobuf/releases
二、 下載cmake
下載地址:https://cmake.org/download/
我的系統是64位的,所以下載的是64位的安裝包,大家可以視自己的情況下載合適的安裝包
三、 生成protobuf的vs工程
打開Cmake(cmake-gui),分別選擇protobuf目錄下的cmake目錄,以及希望vs工程文件存放目錄;
四、生成protobuf庫
找到生成的vs工程打開,里面有很多工程,我們只關心紅框中的兩個工程,設置x64、MTd編譯,
在工程目錄下的Debug和Release目錄下生成libprotobuf.lib、libprotoc.lib、protoc.exe,
再加上src\google目錄的頭文件,即可使用
五、protobuf的使用
5.1 將protoc.exe放到一個目錄下,新建一個build.bat文件,內容寫入protoc --cpp_out=./ *.proto
5.2 將已有的.proto文件放到這個目錄下,執行build.bat,就自動生成了對應h和cc文件
5.3 在應用工程里,加入protobuf的src\google目錄頭文件和libprotobuf.lib、libprotoc.lib庫依賴,再加上生成的PB協議h和cc文件就可以解析PB格式協議了
(原文地址:http://blog.sina.com.cn/s/blog_62949ff40102x2wo.html)
----------------------------------------------------------------------------
>> 我的補充:
----------------------------------------------------------------------------
1、編譯完成后,可以在vsprojects\Release下發現3個lib和一個exe文件,他們分別是libprotobuf.lib,libprotobuf-lite.lib,libprotoc.lib和protoc.exe。(編譯模式為Release 模式),可以將lib文件拷貝到一個lib目錄下;
2、將下載的protobuf源碼目錄下的src目錄下的google文件夾拷貝到一個include目錄下;
3、目錄結構如下
...\installed third party\pb\compile\include\....
...\installed third party\pb\compile\lib\....
...\installed third party\pb\compile\protoc.exe
4、打包好了,分享鏈接如下:
鏈接:http://pan.baidu.com/s/1c1JZjmo 密碼:f4qr
5、Protoc的使用
-
- ...\installed third party\pb\compile 添加到PATH環境變量
- cmd下輸入:"protoc -I. common.proto --cpp_out=.“,就可以生成對應的common.pb.cc和common.pb.h了。
6、Qt中引入