Ошибка Make77 при установке Dar knet на Windows - PullRequest
0 голосов
/ 16 марта 2020

Я столкнулся с проблемой 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

1 Ответ

0 голосов
/ 02 апреля 2020

Я был на вашем месте несколько недель go и сумел это исправить.

Я уверен, вы пытаетесь скомпилировать оригинальный репозиторий Dar knet на компьютере Windows.

Причина

К сожалению, одна из библиотек, используемых в go.c, * nix-only. У него есть аналог в Windows, называемый winsock.h, но, очевидно, этого недостаточно, и проблема все еще сохраняется.

Решение

Вместо этого вам следует сделать следующее: используйте другое репо Dar knet, которое правильно портировано на Windows и имеет большую поддержку. Он обладает точно такой же функциональностью, как и исходное репо, за исключением очень небольших изменений, которые только улучшают структуру. Вместо компиляции с помощью команды make, вы должны собрать ее с помощью Microsoft Visual Studio. Вы можете go с последней версией MVS. Если вы хотите использовать графический процессор и правильно установить его, обязательно следуйте приведенным здесь инструкциям https://github.com/AlexeyAB/darknet#requirements. Чтобы избежать каких-либо странных ошибок, установите требования по порядку.

Когда все требования установлены, перейдите к build/darknet и откройте dar knet .sln. Переключитесь на Release и x64 и постройте проект.

Так и должно быть. Если у вас есть какие-либо проблемы, дайте мне знать, чтобы я мог помочь вам. Кроме того, если вам подходит это решение, обязательно отметьте мой ответ как лучший.

...