参考: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
中打断点