Gflags 编译时错误

Gflags Compile time error

我正在尝试编译其中包含 GFLAGS 的文件。 我的编译命令:

g++ -I ../eigen-eigen-b9cd8366d4e8/ -I/caffe_path/distribute/include  my_file.cpp -std=c++0x   -lpthread -lglog -lboost_system -DUSE_OPENCV 

我的错误信息是:

/usr/bin/ld: /tmp/ccv5GAaZ.o: undefined reference to symbol '_ZN6google26ShowUsageWithFlagsRestrictEPKcS1_'
//usr/lib/x86_64-linux-gnu/libgflags.so.2: error adding symbols: DSO missing from command line

这是我第一次使用 Gflags。根据互联网上的建议,我尝试在以下几行中用 #ifndef#endif 注释行,但没有帮助。

#ifndef GFLAGS_GFLAGS_H_
  namespace gflags = google;
#endif

我也试过关于这个 thread 的建议,但没有解决任何问题。

caffe 中单独安装的 gflags 以某种方式引起了冲突。卸载其中任何一个都没有帮助。我的解决方案是卸载(全部)整个 caffe 和 gflags(内部和外部)解决了这个问题。当我确定我的系统上没有 gflags/glogs 和 caffe 的痕迹时,我可以再次安装 caffe。