Tensorflow C++ API 和 Caffe 兼容性问题与 Glog 相关

Tensorflow C++ API and Caffe Compatibility issue related to Glog

本文关键字:问题 Glog 相关 兼容性 Caffe C++ API Tensorflow      更新时间:2023-10-16

我正在尝试在没有Bazel的情况下使用Eclipse IDE编写C++代码。为了让我的项目做到这一点,我必须执行一些技巧来生成 Tensorflow C++ API。Tensorflow C++似乎工作正常。我可以加载模型并执行预测。我有另一个使用 Caffe 库做其他事情的代码。这两者似乎分别工作正常。

问题所在

我想在我的代码中集成Tensorflow和Caffe。当我包含这两个库时,我遇到以下问题:

In file included from /usr/local/include/tf/tensorflow/core/platform/logging.h:25:0,
from /usr/local/include/tf/tensorflow/core/lib/core/status.h:25,
from /usr/local/include/tf/tensorflow/core/framework/variant.h:28,
from /usr/local/include/tf/tensorflow/core/framework/allocator.h:26,
from /usr/local/include/tf/tensorflow/core/framework/tensor.h:22,
from /usr/local/include/tf/tensorflow/cc/framework/ops.h:21,
from /usr/local/include/tf/tensorflow/cc/ops/const_op.h:19,

/usr/local/include/tf/tensorflow/core/platform/default/logging.h:87:0: warning: "LOG" redefined [enabled by default]
#define LOG(severity) _TF_LOG_##severity
^
In file included from /bin/caffe-master/distribute/include/caffe/common.hpp:6:0,
from /bin/caffe-master/distribute/include/caffe/blob.hpp:8,
from /bin/caffe-master/distribute/include/caffe/caffe.hpp:7,
class Status {
/usr/local/include/tf/tensorflow/core/lib/core/status.h:37:14: error: expected unqualified-id before ‘{’ token
../ME_T42.cpp:2862:1: error: expected ‘}’ at end of input
}

似乎正在发生的事情是,glog和tensorflow似乎都为LOG(例如(定义了同样的事情。

有没有办法解决这个问题? 任何帮助,不胜感激。

谢谢。

所以,如果有人有这个问题,我的解决方案是这样的:

"#ifndef LOG_...等等'

定义重新定义的状态

"#endif">

并且不包括

"#Xlib.h">

因为这定义了与张量流C++中定义的会话冲突的会话。