天天看點

FISCO BCOS源碼(6)編譯源碼 擷取FISCO BCOS可執行程式

源碼編譯适合于有豐富開發經驗的使用者,編譯過程中需要下載下傳依賴庫,請保持網絡暢通。

受網絡和機器配置影響,編譯用時5-20分鐘不等。

請務必保證機器能夠通路githubusercontent.com,否則可能會因為網絡不通阻塞編譯!

FSICO-BCOS使用通用CMake建構系統生成特定平台的建構檔案,這意味着無論您使用什麼作業系統工作流都非常相似:

從代碼倉庫克隆代碼。

預設使用github連結FISCO BCOS

若出現網絡問題導緻長時間拉取代碼失敗,可使用gitee連接配接FISCO-BCOS

安裝建構工具和依賴包(依賴于平台)。

運作<code>cmake</code>生成建構檔案并編譯。

FISCO BCOS源碼(6)編譯源碼 擷取FISCO BCOS可執行程式

推薦Ubuntu 16.04以上版本,源碼編譯時需要先安裝gcc等工具。

若無法下載下傳,則可以先更新一下源

推薦使用Ubuntu 18.04以上版本。

FISCO BCOS源碼(6)編譯源碼 擷取FISCO BCOS可執行程式
FISCO BCOS源碼(6)編譯源碼 擷取FISCO BCOS可執行程式

編譯完成後二進制檔案位于<code>FISCO-BCOS/build/bin/fisco-bcos</code>。

FISCO BCOS源碼(6)編譯源碼 擷取FISCO BCOS可執行程式

注解

如果因為網絡問題導緻長時間無法下載下傳依賴庫,請嘗試從 https://gitee.com/FISCO-BCOS/LargeFiles/tree/master/libs 下載下傳,放在FISCO-BCOS/deps/src/

如果編譯過程中長時間沒有相應,一般是不能通路githubusercontent.com導緻依賴無法下載下傳,請使用代理或修改hosts使得機器能夠通路githubusercontent.com

TESTS,預設off,單元測試編譯開關。通過<code>cmake -DTESTS=on ..</code>打開單元測試開關。

DEMO,預設off,測試程式編譯開關。通過<code>cmake -DDEMO=on ..</code>打開單元測試開關。

TOOL,預設off,工具程式編譯開關。通過<code>cmake -DTOOL=on ..</code>打開工具開關,提供FISCO節點的rocksdb讀取工具。

ARCH_NATIVE,預設off,編譯時根據本地CPU指令優化以獲得更好的性能,在ARM架構上編譯可以使用此選項。GCC9以上版本編譯暫未适配完成,可以通過打開此編譯選項避過問題,完成編譯。

BUILD_STATIC,預設off,靜态編譯開關,隻支援Ubuntu。通過<code>cmake -DBUILD_STATIC=on ..</code>打開靜态編譯開關。

CMAKE_BUILD_TYPE,預設RelWithDebInfo,編譯類型,如要編譯Release版本,通過<code>cmake -DCMAKE_BUILD_TYPE=Release ..</code>設定

DEBUG,預設off,調試模式,編譯後會列印将要送出的資料,性能大幅降低,僅用于開發查問題。

https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/tutorial/compile.html?highlight=%E6%BA%90%E7%A0%81#fisco-bcos

問題

修改<code>/etc/hosts</code>檔案,添加如下内容可加速依賴包的下載下傳:

以上域名對應的ip可能會有變更,若在/etc/hosts中加了以上内容後,源碼編譯仍然很慢,請使用域名查詢工具查詢并更新這些域名對應的IP

若先前有一套編譯完成的環境,可從原先環境的<code>deps/src</code>目錄下拷貝已經下載下傳好的依賴包到目前正在編譯項目的<code>deps/src</code>目錄下

https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/faq/compile.html?highlight=%E6%BA%90%E7%A0%81#case1

繼續閱讀