首页 > 解决方案 > 在 Windows 上安装 Darknet 时出现 Make77 错误

问题描述

我正面临 Make77 问题。有人可以帮帮我吗?

mingw32-make
gcc -Iinclude/ -Isrc/ -Wall -Wno-unused-result -Wno-unknown-pragmas -Wfatal-errors -fPIC -Ofast obj/captcha.o obj/lsd.o obj/super.o obj/art.o obj/tag.o obj/cifar.o obj/go.o obj/rnn.o obj/segmenter.o obj/regressor.o obj/classifier.o obj/coco.o obj/yolo.o obj/detector.o obj/nightmare.o obj/instance-segmenter.o obj/darknet.o libdarknet.a -o darknet -lm -pthread  libdarknet.a
c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: obj/go.o:go.c:(.text+0x329f): undefined reference to `__WSAFDIsSet@8'
c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: obj/go.o:go.c:(.text+0x32e1): undefined reference to `select@20'
collect2.exe: error: ld returned 1 exit status
Makefile:77: recipe for target 'darknet' failed
mingw32-make: *** [darknet] Error 1

标签: yolodarknet

解决方案


几周前我站在你的立场上并设法解决了这个问题。

我有信心,您正在尝试在 Windows 机器上编译Darknet 的原始存储库。

原因

不幸的是,其中使用的库之一go.c是 *nix-only。它在 Windows 中有一个对应的名称winsock.h,但显然这还不够,问题仍然存在。

解决方案

相反,您应该使用另一个已正确移植到 Windows 并获得大量支持的 Darknet 存储库。它具有与原始存储库完全相同的功能,除了很少的更改,只会使框架变得更好。make您应该使用 Microsoft Visual Studio 构建它,而不是使用命令编译。您可以使用最新版本的 MVS。如果您想使用 GPU 并正确安装,请确保按照https://github.com/AlexeyAB/darknet#requirements此处的说明进行操作。为避免任何奇怪的错误,请按顺序安装要求。

安装所有要求后,导航到build/darknet并打开 darknet.sln。切换到Releasex64构建项目。

应该是这样的。如果您有任何问题,请告诉我,以便我可以帮助您。此外,如果此解决方案适合您,请务必将我的回复标记为最佳答案。


推荐阅读