XMRig 静态编译

jc39
jc39
发布于 2025-11-12 / 7 阅读
0
0

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.cppmain 函数, 在最开头增加:

    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;

这样运行时就不用显式指定参数了。


评论