参照元
VisualStudio 2019 を使用したビルド
必須バージョン要件
Gitバージョン >= 2.25
Pythonバージョン >= 3.8
Visual Studio 2019+ (2022 推奨): 2022 (17.9.6) でテスト済み
vcpkgパッケージ マネージャー >= 2024.04.26 (インストール手順は下記)
Visual Studioとvcpkgは、上記のバージョンになるだけ寄せていく。場合によっては、VS2022のダウングレード(要アンインストール)する。
100GB程の空き容量と挫けない心も必要になる。
Git
Standalone Installerで良いかと思います。
バージョン確認するコマンド
git --version
すでにインストール済でアップデートしたい場合は、以下のコマンドでもアップデート出来ます。
git update-git-for-windows
私の環境は、ちょっと古かったのでアップデートしました。
> git version
git version 2.46.0.windows.1
Python
バージョン確認するコマンド
python --version
私の環境は、元からそれなりなバージョンだったのでそのまま。
> python --version
Python 3.11.2
Visual Studio
私の環境ではv17.10.0でしかvcpkgでのビルドが完走しませんでした。ダウングレードしたい場合は、アンインストールする必要があります。
Windowsボタンを右クリックしてターミナル(管理者)を起動する。
アンインストール
winget uninstall --id Microsoft.VisualStudio.2022.Community
バージョンを指定してインストール
winget install --id Microsoft.VisualStudio.2022.Community --version 17.10.0
インストール出来たら、Visual Studio Installerを起動し、Visual Studio 2022の変更ボタンを押す。
C++によるデスクトップ開発にチェックして変更ボタンを押す。
vcpkgパッケージ マネージャー
動作確認が取れているタグ(2024.04.26)をクローンする。
Symbol関連置いてるところとかの適当な場所にクローンしてビルドする。
どうやら、vcpkgは各パッケージの最新版は問題なくインストール出来るが、過去バージョンは上手くインストール出来ないことがあるようだ…
git clone https://github.com/microsoft/vcpkg.git -b 2024.04.26
cd vcpkg
.\bootstrap-vcpkg.bat
環境変数を設定
- システムの詳細設定(システムのプロパティ)を開く
Windowsキー+Pause/Breakから辿るとかあるけど、「SystemPropertiesAdvanced」が速い - 環境変数 ボタンを押す
- ユーザー環境変数のpathにvcpkgのフルパス(ex.H:\symbol_src\vcpkg)を新規登録する
- ユーザー環境変数に以下を新規追加する
変数: VCPKG_ROOT
値: vcpkgのフルパス(ex.H:\symbol_src\vcpkg)
Symbolのビルド
ソースの取得
開発中のソースを取得するとvcpkgでインストール出来る依存パッケージとCMakeで要求されるバージョンに不整合があるので、動作確認が取れている付近のタグをクローンする。
git clone https://github.com/symbol/symbol.git -b sdk/python/v3.2.2
symbol\client\catapult\vcpkg.json
を修正する。
{
"name": "boost-modular-build-helper",
- "version": "1.83.0#0"
+ "version": "1.84.0#3"
},
依存パッケージビルド
- Visual Studio 2022を起動
- 最初に出てくるウィンドウは「コードなしで続行」を押す
- メニュー「ファイル -> 開く -> CMake」を選択
- symbol\client\catapult\CMakeLists.txtを開く
これで、Symbolのビルドに必要なもの(boostとかmongoとか)がダウンロード&ビルドされるので「CMake generation finished.」または「CMake 生成が完了しました。」のメッセージが出るまで待ちます。そこそこ時間が掛かるのでコーヒーでも入れて待ちましょう。
エラーが出ると思うので頑張って調べて解消する。
メニュー「プロジェクト -> キャッシュを構成する」で依存パッケージの再ビルドができます。
Symbolのビルド
メニュー「ビルド -> すべてビルド」を選択して、ビルドが終わるまで待ちます。これもそこそこ時間が掛かるので紅茶でも入れて待ちましょう。
ビルドが終わったら、以下のコマンドで確認出来ます。
.\symbol\client\catapult\build\x64-Debug\bin\catapult.tools.address.exe --help
Address Inspector Tool
Copyright (c) Jaguar0625, gimre, BloodyRookie, Tech Bureau, Corp.
catapult version: 1.0.3.7 116d7f630 [HEAD]
Address Inspector Tool options:
-h [ --help ] print help message
-l [ --loggingConfigurationPath ] arg
path to the logging configuration file
-n [ --network ] arg (=testnet)
network, possible values: testnet (default), mainnet
-i [ --input ] arg
input value (comma-delimited) or file
-o [ --output ] arg
(optional) output file
-f [ --format ] arg (=pretty)
output format, possible values: pretty (default), csv
--suppressConsole
true to suppress console output
-m [ --mode ] arg mode, possible values: encoded, decoded, public, secret
Symbolサーバーの起動はまた今度…