clion + caffe

使用一个开源cpp库,主要可以分为下面几个部分:
编写一个HelloWorld程序,基本使用库;调用库和阅读源代码不同的是,只需知道自己代码调用到那些依赖库,加进来即可,不需要库的源代码,它的重点在于通过报错时提示的少的函数引用名找到该函数所在的lib.
代开源代码工程,编译源代码,跑一跑DEMO;这是为了后面阅读/修改源代码做好准备,借助IDE我们可以获得”代码跳转“”和”实时修改编译,输出调试,在阅读时也能验证自己的理解“的功能

使用clion打开编译caffe源代码

  1. 使用clion打开$caffe_root目录
  2. 这时cmake会报错,说Dependencies.cmake会报 找不到opencv相关的错
Error:By not providing "FindOpenCV.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "OpenCV", but CMake did not find one.
Could not find a package configuration file provided by "OpenCV" with any of the following names:
  OpenCVConfig.cmake   opencv-config.cmake
Add the installation prefix of "OpenCV" to CMAKE_PREFIX_PATH or set "OpenCV_DIR" to a directory containing one of the above files.  If "OpenCV" provides a separate development package or SDK, be sure it has been installed.

按照它的建议修改,在caffe_root下搜索FindOpenCV.cmake,没有该文件;
在opencv(我这里的opencv是自己编译+pkgconfig的,不是apt-get安装的)中搜索opencv-config.cmake/OpenCVConfig.cmake,发现在 “/home/hui/ide/opencv/opencv-3.2.0/x64_bin/share/OpenCV”
即编译opencv生成的bin目录的内容,在/home/hui/ide/opencv/opencv-3.2.0/x64_makefile下也能找到,但是这个在opencv编译完成后一般删除掉了。
于是在Dependencies.camke的报错位置前设置OpenCV_DIR为该变量

Dependencies.cmake

# ---[ OpenCV
set(OpenCV_DIR "/home/hui/ide/opencv/opencv-3.2.0/x64_bin/share/OpenCV")
if(USE_OPENCV)
  find_package(OpenCV QUIET COMPONENTS core highgui imgproc imgcodecs)
  if(NOT OpenCV_FOUND) # if not OpenCV 3.x, then imgcodecs are not found
    find_package(OpenCV REQUIRED COMPONENTS core highgui imgproc)
  endif()
  list(APPEND Caffe_INCLUDE_DIRS PUBLIC ${OpenCV_INCLUDE_DIRS})
  list(APPEND Caffe_LINKER_LIBS PUBLIC ${OpenCV_LIBS})
  message(STATUS "OpenCV found (${OpenCV_CONFIG_PATH})")
  list(APPEND Caffe_DEFINITIONS PUBLIC -DUSE_OPENCV)
endif()

然后更新cmake (reload change), build就可以了
3. build设置
setting->Build,Excution,Deploymeng->cmake:
CMake opetions中可以添加宏定义,如-D USE_OPENCV=True
build opetions, 可以添加make参数,比如-j 8(默认添加)
buid output path, 这个本来是用于设置编译生成文件的路径的,但显然这里他并不work。

猜你喜欢

转载自blog.csdn.net/yinglang19941010/article/details/80236058
今日推荐