Yolov3模型框架darknet研究(七)自己动手将darknet官方代码移植到windows+visual studio上

前言 

darknet官方代码(https://github.com/pjreddie/darknet )只提供了linux上的编译。为了方便跟踪以及调试、理解代码,本文介绍如何将它移植到visual studio上运行。 主要参考AlexAB的项目(https://github.com/AlexeyAB/darknet

移植

1)将AlexeyAB项目下的文件夹“3rdparty”(主要是windows上的多线程实现)拷贝到darknet根目录。

2)创建一个空的控制台应用程序,然后把src目录下的文件全部impor进来,还有example目录下的部分文件。

Yolov3模型框架darknet研究(七)自己动手将darknet官方代码移植到windows+visual studio上

Yolov3模型框架darknet研究(七)自己动手将darknet官方代码移植到windows+visual studio上

3)在visual studio下设置头文件包含路径

Yolov3模型框架darknet研究(七)自己动手将darknet官方代码移植到windows+visual studio上

4) 添加预处理器定义: _MBCS;WIN32;NDEBUG;_CONSOLE;_TIMESPEC_DEFINED;_LIB;_SCL_SECURE_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_RAND_S;_DEBUG;

Yolov3模型框架darknet研究(七)自己动手将darknet官方代码移植到windows+visual studio上

5) 不使用stdafx.h

Yolov3模型框架darknet研究(七)自己动手将darknet官方代码移植到windows+visual studio上

 6)添加依赖库

Yolov3模型框架darknet研究(七)自己动手将darknet官方代码移植到windows+visual studio上

7)屏蔽些暂时无用代码。 darknet框架还提供了rnn segmentation等功能,而我们目前只关注yolo目标检测。为了更容易通过编译链接,可以将这些目前无用模块的代码实现以及调用屏蔽掉。

Yolov3模型框架darknet研究(七)自己动手将darknet官方代码移植到windows+visual studio上

小结

将darknet官方代码移植到vs上的主要目的就是借助vs强大方便的调试功能来更好的理解源代码,而不是想要在vs上训练和推理darknet。 移植过程还有些细节可能遗漏,大家如果有什么问题可以提出来一起讨论。毕竟我这边能正常设断点调试了。