2017-08-14 95 views
0

我正在嘗試在沒有Bazel的情況下使用Eclipse IDE在C++中編寫代碼。爲了讓我的項目做到這一點,我不得不執行一些黑客來生成Tensorflow C++ API。 Tensorflow C++似乎工作正常。我可以加載模型並執行預測。我有另一個使用Caffe庫來執行其他操作的代碼。這兩個似乎都單獨工作。與Glog相關的Tensorflow C++ API和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 
} 

什麼,似乎正在發生的事情是,無論是出入記錄和tensorflow似乎定義LOG(例如)同樣的事情。

有沒有辦法解決這個問題? 任何幫助表示讚賞。

謝謝。

回答

0

因此,如果任何人有這個問題,我的解決辦法是這樣的:

添加

'的#ifndef LOG _....等'

//定義一個被重新定義狀態

'#ENDIF'

,不包括

「#Xlib.h」

因爲這個定義會話與在tensorflow C++中定義的會話衝突。