C++版detection_demo链接gflag,protobuf库文件错误
Created by: guoqiang0148666
您好,非常感谢您们能分享这么杰出的工作.
我在编译C++版detection_demo出现链接gflag,protobuf库文件错误,log信息如下:
[100%] Linking CXX static library /media/guo/DataUbuntu/paddlepaddle/PaddleDetection/inference/build/ext/yaml-cpp/lib/libyaml-cpp.a
[100%] Built target yaml-cpp
[ 46%] No install step for 'ext-yaml-cpp'
[ 53%] Completed 'ext-yaml-cpp'
[ 53%] Built target ext-yaml-cpp
Scanning dependencies of target libpaddleseg_inference
[ 60%] Building CXX object CMakeFiles/libpaddleseg_inference.dir/preprocessor/preprocessor.cpp.o
[ 66%] Building CXX object CMakeFiles/libpaddleseg_inference.dir/preprocessor/preprocessor_detection.cpp.o
[ 73%] Building CXX object CMakeFiles/libpaddleseg_inference.dir/utils/detection_result.pb.cc.o
[ 80%] Building CXX object CMakeFiles/libpaddleseg_inference.dir/predictor/detection_predictor.cpp.o
[ 86%] Linking CXX static library libpaddleseg_inference.a
[ 86%] Built target libpaddleseg_inference
Scanning dependencies of target detection_demo
[ 93%] Building CXX object CMakeFiles/detection_demo.dir/detection_demo.cpp.o
[100%] Linking CXX executable detection_demo
CMakeFiles/detection_demo.dir/detection_demo.cpp.o: In function `__static_initialization_and_destruction_0(int, int)':
detection_demo.cpp:(.text+0x39e): undefined reference to `google::FlagRegisterer::FlagRegisterer<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(char const*, char const*, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*)'
在最后的detection_demo链接时出现了找不到gflag,protobuf(protobuf错误log未截出)库文件(因为前面的链接库文件成功了),我怀疑是和本机的相关库文件冲突了,但不知道是否正确,以及如何解决,希望某位大神能帮帮我,谢谢了.
下面的是detection_demo_dir的flags.make,link.txt文件. flags.make
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.5
# compile CXX with /usr/bin/c++
CXX_FLAGS = -o2 -std=c++11
CXX_DEFINES = -DUSE_MKL
CXX_INCLUDES = -I/media/guo/DataUbuntu/paddlepaddle/PaddleDetection/inference
-I/media/guo/DataUbuntu/paddlepaddle/PaddleDetection/inference/build/ext/yaml-cpp/src/ext-yaml-cpp/include -I/media/guo/DataUbuntu/paddlepaddle/PaddleDetection/fluid_inference
-I/media/guo/DataUbuntu/paddlepaddle/PaddleDetection/fluid_inference/third_party/install/protobuf/include
-I/media/guo/DataUbuntu/paddlepaddle/PaddleDetection/fluid_inference/third_party/install/glog/include
-I/media/guo/DataUbuntu/paddlepaddle/PaddleDetection/fluid_inference/third_party/install/gflags/include -I/media/guo/DataUbuntu/paddlepaddle/PaddleDetection/fluid_inference/third_party/install/xxhash/include
-I/media/guo/DataUbuntu/paddlepaddle/PaddleDetection/fluid_inference/third_party/install/zlib/include -I/media/guo/DataUbuntu/paddlepaddle/PaddleDetection/fluid_inference/third_party/boost
-I/media/guo/DataUbuntu/paddlepaddle/PaddleDetection/fluid_inference/third_party/eigen3
-I/media/guo/DataUbuntu/paddlepaddle/PaddleDetection/fluid_inference/paddle/include
-I/media/guo/DataUbuntu/paddlepaddle/PaddleDetection/opencv3_install/include
-I/media/guo/DataUbuntu/paddlepaddle/PaddleDetection/fluid_inference/third_party/install/mklml/include -I/media/guo/DataUbuntu/paddlepaddle/PaddleDetection/fluid_inference/third_party/install/mkldnn/include
link.txt
/usr/bin/c++ -o2 -std=c++11 CMakeFiles/detection_demo.dir/detection_demo.cpp.o -o detection_demo -L/media/guo/DataUbuntu/paddlepaddle/PaddleDetection/fluid_inference/third_party/install/zlib/lib
-L/media/guo/DataUbuntu/paddlepaddle/PaddleDetection/fluid_inference/third_party/install/protobuf/lib
-L/media/guo/DataUbuntu/paddlepaddle/PaddleDetection/fluid_inference/third_party/install/glog/lib
-L/media/guo/DataUbuntu/paddlepaddle/PaddleDetection/fluid_inference/third_party/install/gflags/lib
-L/media/guo/DataUbuntu/paddlepaddle/PaddleDetection/fluid_inference/third_party/install/xxhash/lib
-L/media/guo/DataUbuntu/paddlepaddle/PaddleDetection/fluid_inference/paddle/lib
-L/media/guo/DataUbuntu/paddlepaddle/PaddleDetection/inference/build/ext/yaml-cpp/lib
-L/media/guo/DataUbuntu/paddlepaddle/PaddleDetection/inference/build
-L/media/guo/DataUbuntu/paddlepaddle/PaddleDetection/opencv3_install/lib
-L/media/guo/DataUbuntu/paddlepaddle/PaddleDetection/fluid_inference/third_party/install/mklml/lib -rdynamic /media/guo/DataUbuntu/paddlepaddle/PaddleDetection/fluid_inference/paddle/lib/libpaddle_fluid.so
-lmklml_intel /media/guo/DataUbuntu/paddlepaddle/PaddleDetection/fluid_inference/third_party/install/mklml/lib/libiomp5.so /media/guo/DataUbuntu/paddlepaddle/PaddleDetection/fluid_inference/third_party/install/mkldnn/lib/libmkldnn.so.0 -lglog -lgflags -lprotobuf -lyaml-cpp -lz -lxxhash -lrt -ldl -lpthread /media/guo/DataUbuntu/paddlepaddle/PaddleDetection/opencv3_install/lib/libopencv_imgcodecs.a /media/guo/DataUbuntu/paddlepaddle/PaddleDetection/opencv3_install/lib/libopencv_imgproc.a /media/guo/DataUbuntu/paddlepaddle/PaddleDetection/opencv3_install/lib/libopencv_core.a /media/guo/DataUbuntu/paddlepaddle/PaddleDetection/opencv3_install/lib/libopencv_highgui.a /media/guo/DataUbuntu/paddlepaddle/PaddleDetection/opencv3_install/share/OpenCV/3rdparty/lib64/libIlmImf.a /media/guo/DataUbuntu/paddlepaddle/PaddleDetection/opencv3_install/share/OpenCV/3rdparty/lib64/liblibjasper.a /media/guo/DataUbuntu/paddlepaddle/PaddleDetection/opencv3_install/share/OpenCV/3rdparty/lib64/liblibpng.a /media/guo/DataUbuntu/paddlepaddle/PaddleDetection/opencv3_install/share/OpenCV/3rdparty/lib64/liblibtiff.a /media/guo/DataUbuntu/paddlepaddle/PaddleDetection/opencv3_install/share/OpenCV/3rdparty/lib64/libittnotify.a /media/guo/DataUbuntu/paddlepaddle/PaddleDetection/opencv3_install/share/OpenCV/3rdparty/lib64/liblibjpeg-turbo.a /media/guo/DataUbuntu/paddlepaddle/PaddleDetection/opencv3_install/share/OpenCV/3rdparty/lib64/liblibwebp.a /media/guo/DataUbuntu/paddlepaddle/PaddleDetection/opencv3_install/share/OpenCV/3rdparty/lib64/libzlib.a libpaddleseg_inference.a /media/guo/DataUbuntu/paddlepaddle/PaddleDetection/fluid_inference/paddle/lib/libpaddle_fluid.so
-lmklml_intel /media/guo/DataUbuntu/paddlepaddle/PaddleDetection/fluid_inference/third_party/install/mklml/lib/libiomp5.so /media/guo/DataUbuntu/paddlepaddle/PaddleDetection/fluid_inference/third_party/install/mkldnn/lib/libmkldnn.so.0 -lglog -lgflags -lprotobuf -lyaml-cpp -lz -lxxhash -lrt -ldl -lpthread /media/guo/DataUbuntu/paddlepaddle/PaddleDetection/opencv3_install/lib/libopencv_imgcodecs.a /media/guo/DataUbuntu/paddlepaddle/PaddleDetection/opencv3_install/lib/libopencv_imgproc.a /media/guo/DataUbuntu/paddlepaddle/PaddleDetection/opencv3_install/lib/libopencv_core.a /media/guo/DataUbuntu/paddlepaddle/PaddleDetection/opencv3_install/lib/libopencv_highgui.a /media/guo/DataUbuntu/paddlepaddle/PaddleDetection/opencv3_install/share/OpenCV/3rdparty/lib64/libIlmImf.a /media/guo/DataUbuntu/paddlepaddle/PaddleDetection/opencv3_install/share/OpenCV/3rdparty/lib64/liblibjasper.a /media/guo/DataUbuntu/paddlepaddle/PaddleDetection/opencv3_install/share/OpenCV/3rdparty/lib64/liblibpng.a
/media/guo/DataUbuntu/paddlepaddle/PaddleDetection/opencv3_install/share/OpenCV/3rdparty/lib64/liblibtiff.a /media/guo/DataUbuntu/paddlepaddle/PaddleDetection/opencv3_install/share/OpenCV/3rdparty/lib64/libittnotify.a /media/guo/DataUbuntu/paddlepaddle/PaddleDetection/opencv3_install/share/OpenCV/3rdparty/lib64/liblibjpeg-turbo.a /media/guo/DataUbuntu/paddlepaddle/PaddleDetection/opencv3_install/share/OpenCV/3rdparty/lib64/liblibwebp.a /media/guo/DataUbuntu/paddlepaddle/PaddleDetection/opencv3_install/share/OpenCV/3rdparty/lib64/libzlib.a -Wl,-
rpath,/media/guo/DataUbuntu/paddlepaddle/PaddleDetection/fluid_inference/third_party/install/zlib/lib:/media/guo/DataUbuntu/paddlepaddle/PaddleDetection/fluid_inference/third_party/install/protobuf/lib:/media/guo/DataUbuntu/paddlepaddle/PaddleDetection/fluid_inference/third_party/install/glog/lib:/media/guo/DataUbuntu/paddlepaddle/PaddleDetection/fluid_inference/third_party/install/gflags/lib:/media/guo/DataUbuntu/paddlepaddle/PaddleDetection/fluid_inference/third_party/install/xxhash/lib:/media/guo/DataUbuntu/paddlepaddle/PaddleDetection/fluid_inference/paddle/lib:/media/guo/DataUbuntu/paddlepaddle/PaddleDetection/inference/build/ext/yaml-cpp/lib:/media/guo/DataUbuntu/paddlepaddle/PaddleDetection/inference/build:/media/guo/DataUbuntu/paddlepaddle/PaddleDetection/opencv3_install/lib:/media/guo/DataUbuntu/paddlepaddle/PaddleDetection/fluid_inference/third_party/install/mklml/lib:/media/guo/DataUbuntu/paddlepaddle/PaddleDetection/fluid_inference/third_party/install/mkldnn/lib