Clion+darknet+Makefile

    xiaoxiao2023-10-07  134

    参考:https://blog.csdn.net/zjchenchujie/article/details/82083453

    先下载Makefile插件

    插件File>>setting>>plugins>>makefile support>>install:

    首先,下载darknet

    然后为了方便调试,我们对Makefile进行调整

    GPU=0 CUDNN=0 OPENCV=1 OPENMP=0 DEBUG=1

    尤其是DEBUG=1

    然后,我们新建一个Clion工程,起名为Demo,工程自带一个CMakeLists.txt和main.cpp

    讲Darknet文件全部复制到该工程下

    然后,我们右键

    Makefile

     

    如果遇到错误:

    /usr/bin/make -f /home/spple/CLionProjects/Demo/Makefile make: Nothing to be done for 'all'. Process finished with exit code 0

    那是因为你原来编译的没有clean

    把原来编译的make clean

    然后,再次点击run Makefile

    就会看到编译过程

    然后,切换到Demo程序

    这里提示下,我们一共有三个,但是我们只用到了

    这里很重要的一点是,大家看一下Demo中的

    Executable:是选择darknet通过Makefile编译出来的darknet.bin虽然我们看不到那个后缀

    然后为了方面测试,我们要给Demo添加arg参数

    还记得yolo官网的测试代码吗?

    ./darknet detector test cfg/coco.data cfg/yolov3.cfg yolov3.weights data/dog.jpg

    一样的道理,所以我们在 

    添加参数

    然后修改原来的CMakeLists.txt

    原来的是

    cmake_minimum_required(VERSION 3.12) project(Demo) set(CMAKE_CXX_STANDARD 11) add_executable(Demo main.cpp)

    我们改成

    cmake_minimum_required(VERSION 3.12) project(Demo) set(CMAKE_CXX_STANDARD 11) set(BUILD_DIR .) #设置编译目录,也就是Makefile文件所在目录 message(${BUILD_DIR}) #打印目录路径 message(${Demo_SOURCE_DIR}) message(${PROJECT_BINARY_DIR}) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") add_custom_target(Demo COMMAND make -C ${BUILD_DIR}) #最关键的就是这句, 设置外部编译文件而不是使用CMakeLists.tx

    然后在

    /CLionProjects/Demo/examples/darknet.c

    中打断点

    最新回复(0)