这是Monero门罗币系列文章的第七篇。windows下编译xmr-stak挖矿软件。
在Windows下进行编译C++是有点繁琐的,并且软件的版本不一样,通用性不好,可能会导致编译失败,也有可能编译成功了,但是算力可能不如官方编译的。
编译前准备
- 系统:Windows 7 x64 SP1
- .Net Framework 4.6 https://www.microsoft.com/en-us/download/details.aspx?id=48137
- VS 2017 community https://docs.microsoft.com/zh-cn/visualstudio/productinfo/installing-an-earlier-release-of-vs2017
- CMake for Win64 https://cmake.org/download/
- NVIDIA CUDA https://developer.nvidia.com/cuda-downloads
- AMD APP SDK 3.0
- OpenSSL/Hwloc and Microhttpd依赖包 https://github.com/fireice-uk/xmr-stak-dep/releases/download/v2/xmr-stak-dep.zip
- xmr-stak源代码 https://github.com/fireice-uk/xmr-stak/archive/v2.2.0.zip
Visual Studio Community 2017不能使用最新版,要使用15.4.5版,否则会出现错误:
c:\program files\nvidia gpu computing toolkit\cuda\v9.1\include\crt/host_config.h(135): fatal error C1189: #error: - - unsupported Microsoft Visual Studio version! Only the versions 2012, 2013, 2015 and 2017 are supported! [C:\Users\min er3\xmr-stak-2.2.0\build\xmrstak_cuda_backend.vcxproj]
软件的安装
Visual Studio 2017 Community
在安装Visual Studio 2017 Community的时候,除了要使用15.4.5版本外,要选中左边的“使用C++的桌面开发”和右边的“用于桌面的 VC++ 2015.3 c140 工具集(x86,x64)”。
CMake for Win64
我使用的是CMake 3.10.2版本,在安装的时候注意选择“Add CMake to the system PATH for all users”。
CUDA和AMD APP SDK(可选)
在安装CUDA的时候,默认的自定义安装是全选的,如果你想最小化安装,请选择:
- CUDA/Develpment
- CUDA/Visual Studio Integration (ignore the warning during the install that VS2017 is not supported)
- CUDA/Runtime
- Driver components
如果挖矿的时候只用CPU,那么可以不用安装CUDA和AMD APP SDK。AMD APP SDK安装还是蛮简单的,官网的下载器经常会下载出错,在准备工作中有一个可以直接下载的链接。
编译
上面的基础工作准备好之后,编译还是很快的。
解压xmr-stak-dep.zip,放到C盘根目录下,C:\xmr-stak-dep。解压xmr-stak的源代码,也放到C盘根目录下,C:\xmr-stak。
打开cmd对话框,cd c:\xmr-stak-dep,进入xmr-stak-dep目录,运行 tree . 看看这个目录结构和下面是否一致。
如果内容和图片一样,cd c:\xmr-stak 进入xmr-stak目录,然后一条一条运行下面的命令:
"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\Tools\VsMSBuildCmd.bat"
set CMAKE_PREFIX_PATH=C:\xmr-stak-dep\hwloc;C:\xmr-stak-dep\libmicrohttpd;C:\xmr-stak-dep\openssl
cd c:\xmr-stak
mkdir build
cd build
cmake -G "Visual Studio 15 2017 Win64" -T v141,host=x64 ..
cmake --build . --config Release --target install
cd bin\Release
copy C:\xmr-stak-dep\openssl\bin\* .
在编译的过程中,会出现“可能丢失数据”的警告,这个可以忽略,只要没有错误就行。
如果不需要编译显卡挖矿,把
cmake -G "Visual Studio 15 2017 Win64" -T v141,host=x64 ..
改成以下的:
cmake -G "Visual Studio 15 2017 Win64" -T v141,host=x64 .. -DCUDA_ENABLE=OFF -DOpenCL_ENABLE=OFF
-DCUDA_ENABLE=OFF表示不编译Nvidia显卡,-DOpenCL_ENABLE=OFF表示不编译AMD显卡。
相关链接:
- 官方windows编译教程:https://github.com/fireice-uk/xmr-stak/blob/master/doc/compile_Windows.md
- 相关软件,百度网盘下载:https://pan.baidu.com/s/1ZdxYgAbqTKBgzoBAjZIqmw 密码: hdti