W3Cschool
恭喜您成為首批注冊(cè)用戶(hù)
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
以下是所有 Solidity 構(gòu)建的依賴(lài)項(xiàng):
軟件 |
筆記 |
---|---|
CMake(版本 3.13+) |
跨平臺(tái)構(gòu)建文件生成器。 |
Boost(Windows 上的版本 1.77+,其他系統(tǒng)為 1.65+) |
C++ 庫(kù)。 |
用于檢索源代碼的命令行工具。 |
|
z3(4.8+ 版,可選) |
與 SMT 檢查器一起使用。 |
cvc4(可選) |
與 SMT 檢查器一起使用。 |
筆記
0.5.10 之前的 Solidity 版本可能無(wú)法正確鏈接到 Boost 版本 1.70+。 一種可能的解決方法是在運(yùn)行 cmake 命令配置solidity 之前臨時(shí)重命名<Boost install path>/lib/cmake/Boost-1.70.0
。
從 0.5.10 開(kāi)始,與 Boost 1.70+ 的鏈接應(yīng)該可以在沒(méi)有人工干預(yù)的情況下工作。
筆記
默認(rèn)構(gòu)建配置需要特定的 Z3 版本(上次更新代碼時(shí)的最新版本)。Z3 版本之間引入的更改通常會(huì)導(dǎo)致返回的結(jié)果略有不同(但仍然有效)。我們的 SMT 測(cè)試沒(méi)有考慮到這些差異,并且可能會(huì)因與編寫(xiě)它們的版本不同的版本而失敗。這并不意味著使用不同版本的構(gòu)建是錯(cuò)誤的。如果將-DSTRICT_Z3_VERSION=OFF
選項(xiàng)傳遞給 CMake,則可以使用滿(mǎn)足上表中給出的要求的任何版本進(jìn)行構(gòu)建。但是,如果您這樣做,請(qǐng)記住傳遞?--no-smt
? 跳過(guò) SMT 測(cè)試的?scripts/tests.sh
?選項(xiàng)。
以下 C++ 編譯器及其最低版本可以構(gòu)建 Solidity 代碼庫(kù):
對(duì)于 macOS 構(gòu)建,請(qǐng)確保您安裝了最新版本的 Xcode。這包含Clang C++ 編譯器、 Xcode IDE和其他在 OS X 上構(gòu)建 C++ 應(yīng)用程序所需的 Apple 開(kāi)發(fā)工具。如果您是第一次安裝 Xcode,或者剛剛安裝了新版本,那么您需要同意進(jìn)行命令行構(gòu)建之前的許可證:
sudo xcodebuild -license accept
我們的 OS X 構(gòu)建腳本使用Homebrew 包管理器來(lái)安裝外部依賴(lài)項(xiàng)。如果您想從頭開(kāi)始,這里是卸載 Homebrew的方法。
您需要為 Solidity 的 Windows 版本安裝以下依賴(lài)項(xiàng):
軟件 |
筆記 |
---|---|
C++ 編譯器 |
|
Visual Studio 2019 (可選) |
C++ 編譯器和開(kāi)發(fā)環(huán)境。 |
Boost(版本 1.77+) |
C++ 庫(kù)。 |
如果您已經(jīng)有一個(gè) IDE 并且只需要編譯器和庫(kù),則可以安裝 Visual Studio 2019 構(gòu)建工具。
Visual Studio 2019 提供 IDE 和必要的編譯器和庫(kù)。因此,如果您沒(méi)有 IDE 并且更喜歡開(kāi)發(fā) Solidity,Visual Studio 2019 可能是您輕松完成所有設(shè)置的選擇。
以下是應(yīng)在 Visual Studio 2019 構(gòu)建工具或 Visual Studio 2019 中安裝的組件列表:
Visual Studio C++ 核心功能
VC++ 2019 v141 工具集 (x86,x64)
Windows 通用 CRT SDK
Windows 8.1 SDK
C++/CLI 支持
我們有一個(gè)幫助腳本,您可以使用它來(lái)安裝所有必需的外部依賴(lài)項(xiàng):
scripts\install_deps.ps1
這將安裝?boost
?和cmake
到?deps
?子目錄。
要克隆源代碼,請(qǐng)執(zhí)行以下命令:
git clone --recursive https://github.com/ethereum/solidity.git cd solidity
如果您想幫助開(kāi)發(fā) Solidity,您應(yīng)該分叉 Solidity 并將您的個(gè)人分叉添加為第二個(gè)遠(yuǎn)程地址:
git remote add personal git@github.com:[username]/solidity.git
筆記
此方法將導(dǎo)致預(yù)發(fā)布版本,例如在此類(lèi)編譯器生成的每個(gè)字節(jié)碼中設(shè)置一個(gè)標(biāo)志。如果您想重新構(gòu)建已發(fā)布的 Solidity 編譯器,請(qǐng)使用 github 發(fā)布頁(yè)面上的源代碼 tarball:
https://github.com/ethereum/solidity/releases/download/v0.XY/solidity_0.XYtar.gz
(不是github提供的“源代碼”)。
確保在構(gòu)建之前安裝外部依賴(lài)項(xiàng)(見(jiàn)上文)。
Solidity 項(xiàng)目使用 CMake 來(lái)配置構(gòu)建。您可能想要安裝ccache以加快重復(fù)構(gòu)建。CMake 會(huì)自動(dòng)選擇它。在 Linux、macOS 和其他 Unices 上構(gòu)建 Solidity 非常相似:
mkdir build cd build cmake .. && make
甚至在 Linux 和 macOS 上更簡(jiǎn)單,您可以運(yùn)行:
#note: this will install binaries solc and soltest at usr/local/bin ./scripts/build.sh
警告
BSD 構(gòu)建應(yīng)該可以工作,但未經(jīng) Solidity 團(tuán)隊(duì)測(cè)試。
對(duì)于 Windows:
mkdir build cd build cmake -G "Visual Studio 16 2019" ..
如果您想使用?scripts\install_deps.ps1
?安裝的boost版本,還需要將?-DBoost_DIR="deps\boost\lib\cmake\Boost-*"
?和?-DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded
?作為參數(shù)傳遞給?cmake
?調(diào)用。
這應(yīng)該會(huì)導(dǎo)致在該構(gòu)建目錄中創(chuàng)建solidity.sln 。雙擊該文件應(yīng)該會(huì)導(dǎo)致 Visual Studio 啟動(dòng)。我們建議構(gòu)建 Release 配置,但所有其他配置都可以。
或者,您可以在命令行上為 Windows 構(gòu)建,如下所示:
cmake --build . --config Release
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話(huà):173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: