Files
xmr-stak/WINCOMPILE.md
T
psychocrypt 83ba07fece update documentation
- fix microhttpd information
- fix spelling

this PR based in some on https://github.com/fireice-uk/xmr-stak-cpu/commit/1a1d7b4697ed8c72350fdff582f87e101a565599 thx @Adam
2017-06-21 22:14:26 +02:00

156 lines
6.0 KiB
Markdown

# Compile **xmr-stak** for Windows
## Install Dependencies
### Preparation
- open a command line `cmd`
- run `mkdir C:\xmr-stak-dep`
### Visual Studio 2017 Community
- download VS2017 Community and install from [https://www.visualstudio.com/downloads/](https://www.visualstudio.com/downloads/)
- during the install chose the components
- `Desktop development with C++` (left side)
- `Toolset for Visual Studio C++ 2015.3 v140...` (right side)
### CMake for Win64
- download and install the latest version from [https://cmake.org/download/](https://cmake.org/download/)
- tested version: [cmake 3.9](https://cmake.org/files/v3.9/cmake-3.9.0-rc3-win64-x64.msi)
- during the install choose the option `Add CMake to the system PATH for all users`
### OpenSSL for Win64
- download and install the precompiled binary form [https://slproweb.com/products/Win32OpenSSL.html](https://slproweb.com/products/Win32OpenSSL.html)
- tested version: [OpenSSL 1.0.2L](https://slproweb.com/download/Win64OpenSSL-1_0_2L.exe)
### Hwloc for Win64
- download the precompiled binary from [https://www.open-mpi.org/software/hwloc/v1.11/](https://www.open-mpi.org/software/hwloc/v1.11/)
- tested version: [hwloc-win64-build-1.11.7](https://www.open-mpi.org/software/hwloc/v1.11/downloads/hwloc-win64-build-1.11.7.zip)
- unzip hwloc to `C:\xmr-stak-dep`
### Microhttpd for Win32
- download the precompiled binary from [http://ftpmirror.gnu.org/libmicrohttpd/](http://ftpmirror.gnu.org/libmicrohttpd/)
- tested version: [libmicrohttpd-0.9.55-w32-bin](http://mirror.reismil.ch/gnu/libmicrohttpd/libmicrohttpd-0.9.55-w32-bin.zip)
- unzip microhttpd to ``C:\xmr-stak-dep`
### Validate the Dependency Folder
- open a command line `cmd`
- run
```
cd c:\xmr-stak-dep
tree .
```
- the result should have the same structure
```
C:\XMR-STAK-DEP
├───hwloc-win64-build-1.11.7
│ ├───bin
│ ├───include
│ │ └───hwloc
│ │ └───autogen
│ ├───lib
│ │ └───pkgconfig
│ └───share
│ ├───doc
│ │ └───hwloc
│ ├───hwloc
│ └───man
│ ├───man1
│ ├───man3
│ └───man7
└───libmicrohttpd-0.9.55-w32-bin
├───x86
│ ├───MinGW
│ │ ├───shared
│ │ │ └───mingw32
│ │ │ ├───bin
│ │ │ ├───include
│ │ │ └───lib
│ │ │ └───pkgconfig
│ │ ├───shared-xp
│ │ │ └───mingw32
│ │ │ ├───bin
│ │ │ ├───include
│ │ │ └───lib
│ │ │ └───pkgconfig
│ │ ├───static
│ │ │ └───mingw32
│ │ │ ├───include
│ │ │ └───lib
│ │ │ └───pkgconfig
│ │ └───static-xp
│ │ └───mingw32
│ │ ├───include
│ │ └───lib
│ │ └───pkgconfig
│ ├───VS2013
│ │ ├───Release-dll
│ │ ├───Release-dll-xp
│ │ ├───Release-static
│ │ └───Release-static-xp
│ ├───VS2015
│ │ ├───Debug-dll
│ │ ├───Debug-dll-xp
│ │ ├───Debug-static
│ │ ├───Debug-static-xp
│ │ ├───Release-dll
│ │ ├───Release-dll-xp
│ │ ├───Release-static
│ │ └───Release-static-xp
│ └───VS2017
│ ├───Debug-dll
│ ├───Debug-static
│ ├───Release-dll
│ └───Release-static
└───x86_64
├───MinGW
│ ├───shared
│ │ └───mingw64
│ │ ├───bin
│ │ ├───include
│ │ └───lib
│ │ └───pkgconfig
│ └───static
│ └───mingw64
│ ├───include
│ └───lib
│ └───pkgconfig
├───VS2013
│ ├───Release-dll
│ └───Release-static
├───VS2015
│ ├───Debug-dll
│ ├───Debug-static
│ ├───Release-dll
│ └───Release-static
└───VS2017
├───Debug-dll
├───Debug-static
├───Release-dll
└───Release-static
```
## Compile
- download and unzip `xmr-stak-cpu`
- open a command line `cmd`
- `cd` to your unzipped source code directory
- execute the following commands (NOTE: path to VS2017 can be different)
```
"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\Tools\VsMSBuildCmd.bat"
set CMAKE_PREFIX_PATH=C:\xmr-stak-dep\hwloc-win64-build-1.11.7;C:\xmr-stak-dep\libmicrohttpd-0.9.55-w32-bin\x86_64\VS2017\Release-static
mkdir build
cd build
cmake -G "Visual Studio 15 2017 Win64" -T v141,host=x64 ..
msbuild xmr-stak-cpu.sln /p:Configuration=Release
cd bin\Release
copy C:\xmr-stak-dep\hwloc-win64-build-1.11.7\bin\libhwloc-5.dll .
copy ..\..\..\config.txt .
```
- customize your `config.txt` file by adding the pool, username and password