安裝準(zhǔn)備:
1.Visual Studio 2017 Community : 15.3.5
2.CMake : cmake-3.9.3-win64-x64.msi
3.Protobuf:3.4.1
開(kāi)始安裝
注:其實(shí)全部的步驟基本都有在README文件中有說(shuō)明,文件在protobuf-3.4.1\cmake\README.md
1.VS2017的安裝方面,按照指引安裝,C#方面需要用到的插件和工具盡量按照默認(rèn)的勾選進(jìn)行安裝,避免產(chǎn)生奇怪的異常
2.CMake的安裝,默認(rèn)安裝,可以修改安裝路徑,安裝后使用cmake確認(rèn)是否路徑配置也完成
3.Protobuf安裝,需要通過(guò)CMake進(jìn)行
(1)將Protobuf壓縮包解壓到磁盤(pán)目錄下,在哪里不影響
例如:
F:\Protobuf\protobuf-3.4.1
(2)在Protobuf解壓的目錄內(nèi)的cmake文件夾內(nèi)建立debug,release文件夾(兩者其一,或者兩者兼?zhèn)洌糜贑Make對(duì)Protobuf的debug版和release版的安裝
例如:
F:\Protobuf\protobuf-3.4.1\cmake\build\debug
F:\Protobuf\protobuf-3.4.1\cmake\build\release
(3)在protobuf的解壓目錄創(chuàng)建install文件夾,用于在執(zhí)行cmake install存放生成的文件
(4)進(jìn)入對(duì)應(yīng)的debug,release文件夾,使用VS CMD運(yùn)行命令創(chuàng)建對(duì)應(yīng)版本的makefile文件內(nèi)容,這些文件用于往后的編譯過(guò)程
例如:
(Debug)
cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../../../../install ../..
(Release)
cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=../../../../install ../..
其中-G為指明生成的工程文件,-DCMAKE_BUILD_TYPE為指明生成工程類(lèi)型,-DCMAKE_INSTALL_PREFIX重定向解壓目錄到上一步創(chuàng)建的文件夾
(5)然后完成之后再對(duì)應(yīng)的debug或release文件夾目錄下VS CMD運(yùn)行nmake進(jìn)行編譯
(6)編譯成功之后目錄下會(huì)生成各式的文件,其中包含一個(gè)protoc.exe的執(zhí)行文件,用作將proto各式文件轉(zhuǎn)化為cs各式文件
(7)將protoc.exe所在的文件夾路徑添加到環(huán)境變量的Path屬性中方便使用,然后就可以在各處使用protoc進(jìn)行轉(zhuǎn)化
例如:
F:\Protobuf\protobuf-3.4.1\cmake\build\debug
(8)編寫(xiě)簡(jiǎn)單proto后綴文件在這里名為Hello.proto,將其生成cs后綴文件Hello.cs
例如:
protoc -I=F:\Protobuf\proto_file --csharp_out=F:\Protobuf\csharp_file Hello.proto
其中-I表示源文件所在文件夾地址,--cssharp_out表示生成平臺(tái)為CSharp以及生成的文件存放目標(biāo)地址,最后Hello.proto為源文件的文件名
(9)將cs文件添加到項(xiàng)目中,發(fā)現(xiàn)缺少google.protobuf一些文件庫(kù)引用,VS2017的nuget管理功能可以添加這一缺少的程序包
(10)搜索google.protobuf,下載安裝
(11)protobuf就可以在當(dāng)前項(xiàng)目?jī)?nèi)進(jìn)行使用了
備注
(1)在README中提到的使用cmake install解壓出的文件內(nèi)容如何關(guān)聯(lián)VS項(xiàng)目暫時(shí)不明朗,不確定是否VS2017版本原因,使用nuget添加代碼包為從GG的指引中獲得的想法,暫時(shí)沒(méi)有異常,待以后解決
End