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

Windows下CMake项目引入DarkHelp静态链接时提示找不到darknet.exe

问题分析与解决步骤

1. 确认DarkHelp的编译模式

你编译DarkHelp时,是否选择了静态编译Darknet?如果DarkHelp是动态链接Darknet编译的,即便你把DarkHelp的.lib静态链接到自身项目,运行时仍会依赖Darknet相关文件(包括darknet.exe或darknet.dll)。

  • 重新编译DarkHelp时,在CMake配置中开启DARKHELP_STATIC和DARKNET_STATIC选项,确保DarkHelp静态链接Darknet,生成完全静态的库文件。

2. 修正自身项目的CMake配置

你的find_library仅找到了DarkHelp的.lib,但静态链接需要同时关联Darknet的静态库(以及OpenCV、CUDA等依赖库)。

  • 修改CMakeLists.txt,补充Darknet静态库的链接逻辑:
# 定位DarkHelp静态库
find_library(DARKHELP NAMES darkhelp HINTS "libs/darkhelp/lib")
# 定位Darknet静态库(根据你的Darknet编译路径调整HINTS参数)
find_library(DARKNET NAMES darknet HINTS "libs/darknet/lib")
# 链接目标项目时,同时加入DarkHelp、Darknet及其他依赖库
target_link_libraries(你的项目名称 PRIVATE ${DARKHELP} ${DARKNET} opencv_world ...)

3. 补充运行时依赖文件

如果DarkHelp编译时保留了对darknet.exe的依赖(比如部分初始化逻辑会调用该可执行文件),需将darknet.exe复制到你项目的可执行文件同目录下,或添加到系统PATH环境变量中。

4. 启用DarkHelp的无exe依赖选项

查看DarkHelp的CMake配置,确认DARKHELP_NO_DARKNET_EXECUTABLE选项是否开启,该选项可禁用对darknet.exe的依赖,让DarkHelp直接通过库调用Darknet核心功能。

内容的提问来源于stack exchange,提问作者Scott Izidore

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 03:22:05