XMRig 静态编译
静态编译
需要在 Alpine 里进行静态编译。
# 安装依赖
apk add git make cmake libstdc++ gcc g++ automake libtool autoconf linux-headers
# 编译依赖
cd xmrig-6.24.0/
mkdir build && cd scripts/
./build_deps.sh && cd ../build
# 剔除捐献
sed -i.bak 's/kDefaultDonateLevel = 1/kDefaultDonateLevel = 0/g' ../src/donate.h
sed -i.bak 's/kMinimumDonateLevel = 1/kMinimumDonateLevel = 0/g' ../src/donate.h
# 编译本体
cmake .. -DXMRIG_DEPS=scripts/deps -DBUILD_STATIC=ON
make -j$(nproc)
固定命令行参数
修改 src/xmrig.cpp 的 main 函数, 在最开头增加:
char *extraArgv[] = {
// your params
"-k", "--tls"
};
int extraArgc = sizeof(extraArgv) / sizeof(extraArgv[0]);
int newArgc = argc + extraArgc;
char *newArgv[newArgc + 1] = { 0 };
for (int i = 0; i < argc; ++i)
{
newArgv[i] = argv[i];
}
for (int i = 0; i < extraArgc; ++i)
{
newArgv[i + argc] = extraArgv[i];
}
argc = newArgc;
argv = newArgv;
这样运行时就不用显式指定参数了。