如何构建其他Caffe工具?

时间:2019-03-05 08:58:56

标签: makefile build cmake linker caffe

在tools文件夹下的caffe库下,一些工具作为单个.cpp文件 https://github.com/BVLC/caffe/tree/master/tools

我在此文件夹下添加了自己的工具,可以通过cmake进行构建。

当我添加其他依赖项(json lib jsoncpp)构建时,该问题在链接阶段失败。

我已将json库.h.cpp文件放在tools/json文件夹下。

我的包括:

#include <iostream>
#include "opencv2/opencv.hpp"
#include "caffe/caffe.hpp"
#include "json/json.h"

我遇到的错误,例如:

Undefined symbols for architecture x86_64:
  "Json::StyledWriter::write(Json::Value const&)", referenced from:
      image_list_processing(int, char**) in my_tool.cpp.o

所以问题是如何在链接过程中添加lib?我应该修改https://github.com/BVLC/caffe/blob/master/tools/CMakeLists.txt还是应该在tools/json/CMakeLists.txt下添加单独的文件?

1 个答案:

答案 0 :(得分:1)

这不是丢失.h文件的错误。您需要将代码链接到共享库(类似的libjsoncpp.so),以便代码访问(链接)已编译的json函数。

-L /path/to/libjson_folder-ljsoncpp标志添加到生成文件的 linking 阶段。