You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
bitcoin/build_msvc
Jon Atack 3ee28c506d
build: bump bitcoin_config.h packages to v0.18
6 years ago
..
bench_bitcoin bench: Add wallet_balance benchmarks 6 years ago
bitcoin-cli msvc: Use a single file to specify the include path 6 years ago
bitcoin-tx msvc: Use a single file to specify the include path 6 years ago
bitcoin-wallet msvc: Use a single file to specify the include path 6 years ago
bitcoind msvc: Use a single file to specify the include path 6 years ago
libbitcoin_cli msvc: Use a single file to specify the include path 6 years ago
libbitcoin_common msvc: Use a single file to specify the include path 6 years ago
libbitcoin_crypto msvc: Use a single file to specify the include path 6 years ago
libbitcoin_qt scripted-diff: Remove NDEBUG pre-define 6 years ago
libbitcoin_server [build] Move wallet load functions to wallet/load unit 6 years ago
libbitcoin_util msvc: Use a single file to specify the include path 6 years ago
libbitcoin_wallet msvc: Use a single file to specify the include path 6 years ago
libbitcoin_wallet_tool msvc: Use a single file to specify the include path 6 years ago
libbitcoin_zmq msvc: Use a single file to specify the include path 6 years ago
libbitcoinconsensus [build] Move CheckTransaction from lib_server to lib_consensus 6 years ago
libleveldb scripted-diff: Remove NDEBUG pre-define 6 years ago
libsecp256k1 scripted-diff: Remove NDEBUG pre-define 6 years ago
libunivalue scripted-diff: Remove NDEBUG pre-define 6 years ago
msbuild/tasks Visual Studio build configuration for Bitcoin Core 6 years ago
test_bitcoin scripted-diff: Rename test_bitcoin to test/setup_common 6 years ago
test_bitcoin-qt scripted-diff: Remove NDEBUG pre-define 6 years ago
testconsensus msvc: Use a single file to specify the include path 6 years ago
.gitignore auto generate MSVC project files 6 years ago
README.md Modify build instructions to work with Command Prompt as well as 6 years ago
bitcoin.sln msvc: build leveldb locally 6 years ago
bitcoin_config.h build: bump bitcoin_config.h packages to v0.18 6 years ago
common.init.vcxproj Visual Studio build configuration for Bitcoin Core 6 years ago
common.vcxproj msvc: Use a single file to specify the include path 6 years ago
libsecp256k1_config.h msvc: build secp256k1 locally 6 years ago
msvc-autogen.py [tools] Add wallet inspection and modification tool 6 years ago

README.md

Building Bitcoin Core with Visual Studio

Introduction

Solution and project files to build the Bitcoin Core applications (except Qt dependent ones) with Visual Studio 2017 can be found in the build_msvc directory.

Building with Visual Studio is an alternative to the Linux based cross-compiler build.

Dependencies

A number of open source libraries are required in order to be able to build Bitcoin.

Options for installing the dependencies in a Visual Studio compatible manner are:

  • Use Microsoft's vcpkg to download the source packages and build locally. This is the recommended approach.
  • Download the source code, build each dependency, add the required include paths, link libraries and binary tools to the Visual Studio project files.
  • Use nuget packages with the understanding that any binary files have been compiled by an untrusted third party.

The external dependencies required for the Visual Studio build are (see the dependencies doc for versions):

  • Berkeley DB,
  • OpenSSL,
  • Boost,
  • libevent,
  • ZeroMQ

Additional dependencies required from the bitcoin-core github repository are:

  • SECP256K1,
  • LevelDB

Building

The instructions below use vcpkg to install the dependencies.

  • Clone vcpkg from the github repository and install as per the instructions in the main README.md.
  • Install the required packages (replace x64 with x86 as required):
    PS >.\vcpkg install --triplet x64-windows-static boost-filesystem boost-signals2 boost-test libevent openssl zeromq berkeleydb secp256k1 leveldb
  • Use Python to generate *.vcxproj from Makefile
    PS >python msvc-autogen.py
  • Build in Visual Studio.