码农-小林 2025-09-10 14:35 采纳率: 54.8%
浏览 5
已结题

使用Cygwin64编译darknet.exe报错

是不是opencv下却是这几个包,需要重新下载opencv吗

img

  • 写回答

5条回答 默认 最新

  • 宝码香车 优质创作者: JavaScript技术领域 2025-09-10 17:54
    关注

    让【宝码香车】来帮您解答,本回答参考DeepSeek编写,并整理提供。

    如果答案让您满意,请采纳、点赞、关注,非常感谢!
    .
    每日一句正能量,让它带给您好心情:坚持下去,不是因为看到希望,而是因为坚持了才有希望。
    .

    根据你提供的错误信息,问题是在链接阶段找不到OpenCV的库文件(lopencv_corelopencv_highguilopencv_imgproclopencv_objdetect)。这通常是由于OpenCV库路径配置不正确或库文件缺失导致的。

    解决方案:

    1. 确认OpenCV安装路径
      检查你的OpenCV是否安装在 D:/OpenCV-MinGs-Build-OpenCV-4.5.2-x64/x64/mingw/lib 路径下,并确保该路径中存在以下库文件(通常以 .dll.a.a 结尾):
    • libopencv_core452.dll.a(版本号可能不同)
    • libopencv_highgui452.dll.a
    • libopencv_imgproc452.dll.a
    • libopencv_objdetect452.dll.a
    1. 检查Makefile中的链接路径
      在Makefile中,确保 LDFLAGSLIBS 变量正确指向OpenCV的库路径。例如:
      LDFLAGS += -LD:/OpenCV-MinGs-Build-OpenCV-4.5.2-x64/x64/mingw/lib
      LIBS += -lopencv_core -lopencv_highgui -lopencv_imgproc -lopencv_objdetect
    
    1. 验证库文件名称
      Cygwin/MinGW可能需要特定格式的库文件名。确保链接器使用的名称(如 -lopencv_core)与实际文件名称匹配(去掉 lib 前缀和 .a 后缀)。
    1. 重新安装OpenCV(可选)
      如果库文件确实缺失,可以重新安装OpenCV,并选择适用于MinGW的版本(确保与你的Cygwin64环境兼容)。
    1. 设置环境变量
      将OpenCV的bin路径(如 D:\OpenCV-MinGs-Build-OpenCV-4.5.2-x64\x64\mingw\bin)添加到系统 PATH 环境变量中,以便运行时找到DLL文件。

    示例命令(在Cygwin终端中检查库文件):

    ls -la "D:/OpenCV-MinGs-Build-OpenCV-4.5.2-x64/x64/mingw/lib" | grep opencv
    

    如果问题仍未解决,请提供你的Makefile中关于OpenCV配置的部分,以便进一步排查。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 9月18日
  • 已采纳回答 9月10日
  • 创建了问题 9月10日