国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Windows GRPC源碼編譯C++庫——詳細(xì)步驟

這篇具有很好參考價(jià)值的文章主要介紹了Windows GRPC源碼編譯C++庫——詳細(xì)步驟。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目錄

前言:

一、環(huán)境準(zhǔn)備

1.1、安裝cmake

1.2、安裝Perl

1.3、安裝golang

1.4、安裝Visual Studio (推薦2022)

1.5、安裝git

1.6、安裝yasm

1.7、安裝,配置openssl庫

二、源碼下載

2.1、grpc源碼下載

2.2、第三方庫下載

三、編譯源碼

3.1、新建.build

3.2、生產(chǎn)解決方案

3.3、編譯

錯(cuò)誤1

錯(cuò)誤2

錯(cuò)誤3:

錯(cuò)誤4

3.4、生產(chǎn)庫

四、靜態(tài)庫分享


前言:

????????GRPC,其實(shí)就是RPC框架的一種,前面帶了一個(gè)g,代表是RPC中的大哥,龍頭老大的意思,另外g也有g(shù)lobal的意思,意思是全球化比較fashion,是一個(gè)高性能、開源和通用的 RPC 框架,基于ProtoBuf(Protocol Buffers)?序列化協(xié)議開發(fā),且支持眾多開發(fā)語言。面向服務(wù)端和移動(dòng)端,基于 HTTP/2 設(shè)計(jì),帶來諸如雙向流、流控、頭部壓縮、單 TCP 連接上的多復(fù)用請(qǐng)求等特。這些特性使得其在移動(dòng)設(shè)備上表現(xiàn)更好,更省電和節(jié)省空間占用。

? ? ? ?本人之前編譯過一次grpc源碼,但是最近需要?jiǎng)e的系統(tǒng)版本,編譯起來居然用了一天半時(shí)間,索性,乘晚上安靜之際,隨手寫下來,以備不時(shí)之需。?下面詳細(xì)介紹grpc編譯.

? ? ? ?最近有好多人私信我,希望幫助編譯grpc庫,沒有及時(shí)看到信息。先將本人郵箱留下,有問題伙伴可以發(fā)送郵件,會(huì)在第一時(shí)間看到。郵箱:1255450653@qq.com.

一、環(huán)境準(zhǔn)備

1.1、安裝cmake

下載地址:https://cmake.org/download/

Windows GRPC源碼編譯C++庫——詳細(xì)步驟

注意:選擇添加環(huán)境變量。

1.2、安裝Perl

下載地址:https://jingyan.baidu.com/article/9f7e7ec0b798ae6f281554e9.html

Windows GRPC源碼編譯C++庫——詳細(xì)步驟

1.3、安裝golang

下載地址:Go下載 - Go語言中文網(wǎng) - Golang中文社區(qū)

Windows GRPC源碼編譯C++庫——詳細(xì)步驟

1.4、安裝Visual Studio (推薦2022)

下載地址:https://visualstudio.microsoft.com/zh-hans/vs/

注意:windows sdk選擇10.0.2以上版本。

1.5、安裝git

參考:Git

這部分可省略,因?yàn)間ithub庫下載源碼非常慢。還不如直接下載zip包來的快。

1.6、安裝yasm

? 下載網(wǎng)站:http://yasm.tortall.net/Download.html

?下載完成之后yasm-1.3.0-win64.exe。將其名字改為yasm.exe,并將目錄添加到系統(tǒng)環(huán)境變量PATH路徑當(dāng)中。

打開cmd,驗(yàn)證如下:

Windows GRPC源碼編譯C++庫——詳細(xì)步驟

1.7、安裝,配置openssl庫

這步可以不用設(shè)置,跳過。

下載地址:https://download.csdn.net/download/ManagerUser/86510880

配置環(huán)境變量:

Windows GRPC源碼編譯C++庫——詳細(xì)步驟

?ok,至此,前期的準(zhǔn)備工作就完成了。

二、源碼下載

2.1、grpc源碼下載

地址: GitHub - grpc/grpc: The C based gRPC (C++, Python, Ruby, Objective-C, PHP, C#)

下載zip速度較快。git 太慢了。

Windows GRPC源碼編譯C++庫——詳細(xì)步驟

2.2、第三方庫下載

????????grpc依賴了大量第三方庫,但是光下載grpc源碼,還不能完全下載 grpc依賴的庫,網(wǎng)上有很多資料顯示,用xxx命令,都是扯談,沒有半小時(shí)下載不下來,并且如果沒有代理的話,會(huì)提示訪問超時(shí),完全不可用。

????????下面介紹一種最原始方式,也是最可行的方法。

? ? ? ? 不同版本grpc卻依賴的庫稍微有點(diǎn)差別,為了更為準(zhǔn)確的了解grpc依賴的第三方庫,就需要去grpc源碼查看具體依賴的庫。git上grpc源碼根目錄下third_party目錄下,如圖所示,所有藍(lán)色庫,都是需要我們手動(dòng)下載。

?????????注意:grpc/third_party/cares/cares依賴庫。

Windows GRPC源碼編譯C++庫——詳細(xì)步驟

?Windows GRPC源碼編譯C++庫——詳細(xì)步驟

將所有g(shù)rpc依賴的庫全部下載下來,并且拷貝到對(duì)于的目錄下面。不能落下,否則在編譯階段報(bào)一些莫名的錯(cuò)誤。

三、編譯源碼

3.1、新建.build

????????在grpc根目錄下新建.build文件夾

3.2、生成解決方案

? ? ? 打開cmake? gui界面,選擇source code和 build目錄。

Windows GRPC源碼編譯C++庫——詳細(xì)步驟

?點(diǎn)擊Configure,彈出如下界面

Windows GRPC源碼編譯C++庫——詳細(xì)步驟

選擇Visual Studio版本和平臺(tái)(x64或Win32)。點(diǎn)擊Finish

Windows GRPC源碼編譯C++庫——詳細(xì)步驟

?庫的安裝目錄盡量不要選擇系統(tǒng)盤,要不在生產(chǎn)庫文件時(shí)候,沒有權(quán)限。

如果出現(xiàn)如下出錯(cuò):

CMake Warning at third_party/abseil-cpp/CMakeLists.txt:70 (message):
A future Abseil release will default ABSL_PROPAGATE_CXX_STD to ON for CMake
3.8 and up. We recommend enabling this option to ensure your project still
builds correctly.

?這個(gè)錯(cuò)誤忽略就行。網(wǎng)上說要勾選ABSL_PROPAGATE_CXX_STD,大坑。

如果出現(xiàn)如下出錯(cuò):

CMake Warning at cmake/ssl.cmake:55 (message):
gRPC_SSL_PROVIDER is "module" but BORINGSSL_ROOT_DIR is wrong
Call Stack (most recent call first):
CMakeLists.txt:255 (include)

將grpc_ssl_provider設(shè)置為package,就會(huì)自動(dòng)去系統(tǒng)環(huán)境變量查找相應(yīng)的庫

再次Configure

Windows GRPC源碼編譯C++庫——詳細(xì)步驟

出現(xiàn)Configure done,說明configure完成。

點(diǎn)擊Generate。

Windows GRPC源碼編譯C++庫——詳細(xì)步驟

?出現(xiàn)Generating done說明已經(jīng)生產(chǎn)Visual Studio工程文件,可以去.build文件夾下去查看,

Windows GRPC源碼編譯C++庫——詳細(xì)步驟

?點(diǎn)擊Open Project或者右鍵單擊grpc.sln,打開項(xiàng)目,可以選擇編譯Debug和Release

Windows GRPC源碼編譯C++庫——詳細(xì)步驟

3.3、編譯

Windows GRPC源碼編譯C++庫——詳細(xì)步驟

右鍵單擊ALL_BUILD,選擇生產(chǎn),開始編譯。

往往這個(gè)步驟是最讓人痛苦的階段。

錯(cuò)誤1

fatal error C1083: 無法打開包括文件: “stdalign.h”: No such file or directory

【項(xiàng)目】->【屬性】->選擇widnows sdk 版本到最新安裝的版本

Windows GRPC源碼編譯C++庫——詳細(xì)步驟

點(diǎn)擊應(yīng)用。確定。

錯(cuò)誤2

error C2039: "Status": 不是 "google::protobuf::util" 的成員 
error C4430: 缺少類型說明符 - 假定為 int。注意: C++ 不支持默認(rèn) int 
error C2146: 語法錯(cuò)誤: 缺少“;”(在標(biāo)識(shí)符“Status”的前面) 

解決辦法:

可能是protobuf版本太新了,最新的版本是4.0,推薦使用3.19,下載成功之后,解壓,拷貝到third_party/protobuf目錄下替換就可以了。重新Configure

Windows GRPC源碼編譯C++庫——詳細(xì)步驟

錯(cuò)誤3:

error C2011: “sockaddr”:“struct”類型重定義 
error C2143: 語法錯(cuò)誤: 缺少“}”(在“常數(shù)”的前面) 
error C2059: 語法錯(cuò)誤:“常數(shù)”
error C2143: 語法錯(cuò)誤: 缺少“;”(在“}”的前面) 
error C2011: “sockaddr_in”:“struct”類型重定義 
error C2011: “fd_set”:“struct”類型重定義

解決辦法,參考:https://blog.csdn.net/weixin_41454036/article/details/108844486

錯(cuò)誤4

error MSB8066: “D:\grpc-master\.build\CMakeFiles\1d6eed4bb9d57f066d15abcf1966767c\crypto_test_data.cc.rule;D:\g
rpc-master\third_party\boringssl-with-bazel\CMakeLists.txt”的自定義生成已退出,代碼為 1。 [D:\grpc-master\.build\third_party\boringssl-with-bazel\crypto_test_data.vcxproj]

解決辦法:

打開windows PowerShell

# 配置 GOPROXY 環(huán)境變量
$env:GOPROXY = "https://proxy.golang.com.cn,direct"
# 還可以設(shè)置不走 proxy 的私有倉庫或組,多個(gè)用逗號(hào)相隔(可選)
$env:GOPRIVATE = "git.mycompany.com,github.com/my/private

Windows GRPC源碼編譯C++庫——詳細(xì)步驟

?然后,重試編譯。

Windows GRPC源碼編譯C++庫——詳細(xì)步驟

?編譯完成。

3.4、生成庫

Windows GRPC源碼編譯C++庫——詳細(xì)步驟

選擇INSTALL,右鍵單擊,生成。

Windows GRPC源碼編譯C++庫——詳細(xì)步驟

查看生產(chǎn)的庫目錄:

Windows GRPC源碼編譯C++庫——詳細(xì)步驟

?以上步驟win10系統(tǒng),64位庫,32位庫請(qǐng)?jiān)赾make 平臺(tái)選擇Win32,重新按照步驟編輯即可。

?Release和Debug版本請(qǐng)?jiān)赩isual Studio 解決方案配置選擇即可。

四、靜態(tài)庫分享

? ? ? 編譯確實(shí)比較麻煩,我在編譯解決參考了網(wǎng)上博客不下20篇,沒有一篇博客能指導(dǎo)我順利走下來,所有將靜態(tài)庫分享出來,不想編譯的朋友直接下載,永久收取5個(gè)積分。

? ? 32位靜態(tài)庫, debug版本和relase版本

? ? 64位靜態(tài)庫, debug版本和release版本?

下載地址:
(8條消息) windowsgrpcc++靜態(tài)庫-C++文檔類資源-CSDN文庫https://download.csdn.net/download/ManagerUser/86510933文章來源地址http://www.zghlxwxcb.cn/news/detail-402124.html

到了這里,關(guān)于Windows GRPC源碼編譯C++庫——詳細(xì)步驟的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • MinGW-w64的安裝詳細(xì)步驟(c/c++的編譯器gcc、g++的windows版,win10、win11真實(shí)可用)

    MinGW-w64的安裝詳細(xì)步驟(c/c++的編譯器gcc、g++的windows版,win10、win11真實(shí)可用)

    MinGW(Minimalist GNU for Windows) 是一個(gè)用于 Windows 平臺(tái)的開發(fā)工具集,它提供了一組 GNU 工具和庫,可以用于編譯和構(gòu)建本地的 Windows 應(yīng)用程序。 MinGW 的目標(biāo)是在 Windows 環(huán)境下提供類似于 Unix/Linux 環(huán)境下的開發(fā)工具,使開發(fā)者能夠輕松地在 Windows 上編寫和編譯 C、C++ 等程序。

    2024年02月13日
    瀏覽(34)
  • 【opencv】【GPU】windows10下opencv4.8.0-cuda C++版本源碼編譯教程

    【opencv】【GPU】windows10下opencv4.8.0-cuda C++版本源碼編譯教程

    提示:博主取舍了很多大佬的博文并親測(cè)有效,分享筆記邀大家共同學(xué)習(xí)討論 OpenCV是一個(gè)開源的計(jì)算機(jī)視覺庫,包含了核心模塊和擴(kuò)展模塊,提供了基礎(chǔ)的圖像處理和計(jì)算機(jī)視覺算法,以及一些機(jī)器學(xué)習(xí)工具。而OpenCV Contrib是OpenCV社區(qū)貢獻(xiàn)的一組擴(kuò)展模塊之一,包含了一些較為

    2024年02月08日
    瀏覽(53)
  • 虛擬打印機(jī)開源項(xiàng)目clawPDF最新版本在Windows+Visual Studio 環(huán)境編譯運(yùn)行遇到的若干問題,以及虛擬打印機(jī)驅(qū)動(dòng)的安裝和徹底卸載詳細(xì)圖文步驟

    虛擬打印機(jī)開源項(xiàng)目clawPDF最新版本在Windows+Visual Studio 環(huán)境編譯運(yùn)行遇到的若干問題,以及虛擬打印機(jī)驅(qū)動(dòng)的安裝和徹底卸載詳細(xì)圖文步驟。 錯(cuò)誤提示: 不支持此版本的 Visual Studio 無法打開以下項(xiàng)目??赡芪窗惭b項(xiàng)目類型,或此版本的 Visual Studio 可能不支持項(xiàng)目類型。 有關(guān)

    2024年02月22日
    瀏覽(34)
  • Windows JDK11編譯步驟

    Windows JDK11編譯步驟

    ??Windows操作系統(tǒng)不符合POSIX標(biāo)準(zhǔn)。但是有個(gè)工具可以解決這個(gè)問題,那就是cygwin。下載鏈接是Cygwin。然后是安裝cygwin命令。代碼如下: ??注意要把Cygwin在環(huán)境變量path里排第一位,否則會(huì)報(bào)以下錯(cuò)誤: ??反正我的環(huán)境變量,無論是用戶變量和系統(tǒng)變量,都把Cygwin放第一

    2024年02月05日
    瀏覽(21)
  • 《Git入門實(shí)踐教程》前言+目錄

    版本控制系統(tǒng)(VCS)在項(xiàng)目開發(fā)中異常重要,但和在校大學(xué)生的交流中知道,這個(gè)重要方向并未受到重視。具備這一技能,既是項(xiàng)目開發(fā)能力的體現(xiàn),也可為各種面試加碼。在學(xué)習(xí)體驗(yàn)后知道,Git多樣化平臺(tái)、多種操作方式、豐富的資源為業(yè)內(nèi)人士提供了方便的同時(shí),也造成

    2024年02月10日
    瀏覽(96)
  • FPGA學(xué)習(xí)實(shí)踐之旅——前言及目錄

    很早就有在博客中記錄技術(shù)細(xì)節(jié),分享一些自己體會(huì)的想法,拖著拖著也就到了現(xiàn)在。畢業(yè)至今已經(jīng)半年有余,隨著項(xiàng)目越來越深入,感覺可以慢慢進(jìn)行總結(jié)工作了。趁著2024伊始,就先開個(gè)頭吧,這篇博客暫時(shí)作為匯總篇,記錄在這幾個(gè)月以及之后從FPGA初學(xué)者到也算有一定

    2024年02月03日
    瀏覽(100)
  • QGIS源碼編譯步驟詳解——官方新方案

    QGIS源碼編譯步驟詳解——官方新方案

    ??方案詳細(xì)可見源碼文件中INSTALL.md。 ??QGIS源碼下載:https://github.com/qgis/QGIS/releases ??建議3.16版本,本文源碼版本3.16.3。 ??3.22版本編譯后會(huì)出現(xiàn)大量關(guān)于inline的錯(cuò)誤,暫時(shí)不知如何解決。 下載Cygwin64安裝包,setup-x86_64.exe。 安裝Cygwin64,并安裝Flex、Bison。 Flex = 2.5.

    2024年02月06日
    瀏覽(32)
  • windows編譯安卓源碼記錄

    windows編譯安卓源碼記錄

    Windows10 + vmware17 + ubuntu22 ubuntu環(huán)境設(shè)置 裝完ubuntu系統(tǒng)后拖拽復(fù)制文件進(jìn)去驗(yàn)證vmtools功能情況,如果vmtools異常很麻煩,試了n多方法,最后還是重新安裝系統(tǒng)+vmtools解決, 裝系統(tǒng)注意個(gè)性化選擇,防止后面再改 右鍵displagy設(shè)置分辨率,語言等 配置后,中文顯示 切換到root用戶,方

    2024年02月02日
    瀏覽(20)
  • linux安裝nginx詳細(xì)步驟和make編譯報(bào)錯(cuò)問題(保姆級(jí))

    linux安裝nginx詳細(xì)步驟和make編譯報(bào)錯(cuò)問題(保姆級(jí))

    目錄 1.安裝依賴包 2.下載并解壓安裝包 3.安裝nginx 3-1.源碼編輯時(shí)常見錯(cuò)誤解決方法 4.啟動(dòng)nginx服務(wù) 4-1.配置nginx.conf 5.重啟nginx 6.若想使用外部主機(jī)訪問nginx,需要關(guān)閉服務(wù)器防火墻或開放nginx服務(wù)端口,端口為上一步nginx.conf的配置端口 ? ????????3-1.源碼編輯時(shí)常見錯(cuò)誤解決

    2024年02月09日
    瀏覽(27)
  • windows編譯運(yùn)行es源碼1

    windows編譯運(yùn)行es源碼1

    一. 基礎(chǔ)搭載環(huán)境 win10 jdk? 11 ? jdk8 idea 2022 gradle 8.1.1? ?【建議4.5.1以上】 elasticsearch 7.8.0? 源碼及安裝包 二. 安裝gradle 1.?官網(wǎng)下載鏈接:https://gradle.org/releases/ 2. 解壓設(shè)置環(huán)境變量 (1)??GRADLE_HOME 環(huán)境變量指向你的 Gradle 解壓路徑 (2)?將 %GRADLE_HOME%bin 添加到 Path 環(huán)境變量中

    2024年02月12日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包