mirror of
https://github.com/QuasarApp/QuasarAppCoin.git
synced 2025-05-03 13:09:36 +00:00
b9dafe7d9ffcbe7928ffbfba816b54e196c57664 Fix remaining compiler warnings (MSVC). Move disabling of specific warnings from /nowarn to project file. (practicalswift) Pull request description: Fix remaining compiler warnings (MSVC). Before: ``` $ msbuild /p:TrackFileAccess=false /p:CLToolExe=clcache.exe build_msvc\bitcoin.sln /m /v:q /nowarn:C4244;C4267;C4715 /nologo …\script\script.cpp(272): warning C4018: '>': signed/unsigned mismatch …\test\allocator_tests.cpp(147): warning C4312: 'reinterpret_cast': conversion from 'int' to 'void *' of greater size …\boost\test\tools\old\impl.hpp(107): warning C4805: '==': unsafe mix of type 'const Left' and type 'const Right' in operation …\test\crypto_tests.cpp(535): warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) …\test\script_tests.cpp(188): warning C4805: '==': unsafe mix of type 'int' and type 'bool' in operation …\test\script_tests.cpp(190): warning C4805: '==': unsafe mix of type 'int' and type 'bool' in operation …\test\script_tests.cpp(191): warning C4805: '==': unsafe mix of type 'int' and type 'bool' in operation $ ``` After: ``` $ msbuild /p:TrackFileAccess=false /p:CLToolExe=clcache.exe build_msvc\bitcoin.sln /m /v:q /nowarn:C4244;C4267;C4715;C4805 /nologo $ ``` Tree-SHA512: 5b30334d3804e869779e77dad75a799e8e5e7eb2e08634cd40035cce140edd623cbb6c8b5806d2158c3df97888d3ea9ff4b8b6a5a83de3fe2cb361e29588c115
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.