c protobuf 編譯 使用

2021-09-28 14:06:42 字數 1436 閱讀 7509

環境變數新增

path=cmake bin資料夾目錄

這裡以編譯32位的debug版本為例,如果是release版本,可以將各條命令中的debug路徑修改為release路徑,最關鍵的一點是將第5條命令中的 「-dcmake_build_type=debug」 修改為 「-dcmake_build_type=release」。

選擇「開始 - 所有程式 - visual studio 2013 - visual studio tools」,雙擊「vs2013 x86 本機工具命令提示」,依次輸入:

(1)cd d:\documents\program\tools\protobuf-3.0.2\cmake

(2)mkdir build & cd build

(3)mkdir x86 & cd x86

(4)mkdir debug & cd debug

此時位於protobuf-3.0.2/cmake/build/x86/debug,這裡建立的debug資料夾只是用於存放相關的cmake file配置資訊,無特殊含義。

(5)cmake -g "nmake makefiles" -dcmake_build_type=debug -dprotobuf_build_tests=off -dcmake_install_prefix=../../../../install/x86/debug ../../..

生成cmake file相關配置檔案。

(6)nmake

等待protobuf編譯完成,大概10分鐘。

(7)nmake install

完成後會在 protobuf-3.0.2\install\x86\debug 目錄下生成 bin、include、lib、cmake 四個資料夾。

為了能夠動態地建立message物件,修改message引數,需要呼叫上面編譯出的lib庫檔案,利用protobuf中的反射機制實現。

新建c++工程,工程右鍵,選擇屬性,配置標頭檔案和lib庫檔案,注意第2點:

(1)「c/c++ - 常規 - 附加包含目錄」,新增 「d:\documents\program\tools\protobuf-3.0.2\install\x86\debug\include」;

(2)」c/c++ - **生成 - 執行庫」,選擇 「多執行緒除錯(/mtd)」,與protobuf保持一致,否則編譯不過;

在編譯v3.0.2版本之前,也嘗試過最新的v3.3.0版本,編譯過程都沒有出問題,在使用lib庫時,編譯出錯,先是 「generated_message_table_driven.h」 檔案找不到,後是 「metadata_lite.h」 檔案找不到,我從 「protobuf-3.3.0\src\google\protobuf」 資料夾下將這兩個標頭檔案copy到 「protobuf-3.3.0\install\x86\debug\include\google\protobuf」 中,編譯通過(同樣需要按第四步進行配置),這應該是版本自身的bug。

C protobuf使用方法

編譯,在目錄d protobuf 2.5.0 vsprojects debug之下,生成若干.lib,exe程式 好亂,中間檔案和生成檔案都放到乙個目錄下了,眼都看花了 另外單獨建立新專案test 將protobuf 2.5.0中生成的libprotobuf.lib libprotoc.lib pr...

Web benchmarking 編譯 使用

我的開發環境是windows,webbench需要在linux環境下編譯,我機器配置了cygwin,切換到解壓的目錄,直接執行make,執行之後,會報錯 找不到對應的檔案 rpc tpyes.h 我檢視在 usr include tirpc rpc 目錄下types.h 確實存在,在網上搜尋相關的內...

CEPH DOKAN編譯使用

ceph dokan編譯使用 以下是在win7 64位機器上編譯,執行的 5.可以選擇編譯boost 1 63 0原始碼,也可以不編譯,編譯完成後可以在目錄 c boost 1 63 0 stage lib 下發現編譯生成的包 6.編譯ceph dokan.exe 修改makefile 在libce...