You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Windows 11+Visual Studio 2022下编译libdogecoin Release版本?

解决Windows 11 + VS2022下libdogecoin Release模式编译找不到LIBEVENT的问题

问题背景

在Windows 11系统上使用Visual Studio 2022编译libdogecoin(用于加密货币应用开发)时,Debug模式编译可正常完成,但执行默认CMake指令编译Release模式时,出现LIBEVENT库找不到的错误:

CMake Error at CMakeLists.txt:52 (FIND_LIBRARY):
  Could not find LIBEVENT using the following names: event, event_core,
  event_extras, event_pthreads

查看目录发现Debug文件夹存在但Release文件夹缺失,此前习惯直接使用预编译的include和.lib文件,缺乏项目编译经验,尝试编译dogecoin core得到的.a文件无法解决问题。

原因分析

从CMake输出日志可见,虽然主项目配置时指定了CMAKE_BUILD_TYPE: Release,但子依赖libevent实际编译生成的是Debug目录下的库文件,导致主项目在Release模式下无法定位到对应配置的LIBEVENT库。此外,Windows下MSBuild属于多配置构建系统,默认的cmake --build .不会自动生成Release配置的构建文件,需显式指定。

解决方案

方案1:显式指定Release配置完成编译

  1. 清理旧构建目录,避免缓存干扰:
rmdir /s /q build
mkdir build
cd build
  1. 生成Release配置的CMake构建文件:
cmake -DCMAKE_BUILD_TYPE=Release ..
  1. 强制以Release配置编译项目:
cmake --build . --config Release

方案2:单独编译Release版本的libevent依赖

若方案1无效,可先单独编译libevent的Release版本,再编译主项目:

  1. 进入libevent子模块目录:
cd src/libevent
  1. 清理并重新构建libevent的Release版本:
rmdir /s /q build
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
cmake --build . --config Release
  1. 返回主项目构建目录,重新执行Release编译:
cd ../../../build
cmake --build . --config Release

额外提示

  • 确保克隆libdogecoin仓库时拉取了所有子模块(使用git clone --recursive命令),避免依赖文件缺失;
  • 对于VS生成器这类多配置构建系统,可通过-DCMAKE_CONFIGURATION_TYPES="Release;Debug"提前指定要生成的配置类型,后续编译时只需指定--config参数即可切换。

内容的提问来源于stack exchange,提问作者Christopher Barrios Agosto

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 00:39:58