2017-06-09 94 views
0

我有我的代碼,因爲gflags導致錯誤的問題。所以我決定手動使用gflags存儲庫和鏈接,這似乎是一個糟糕的主意。現在我甚至無法編譯咖啡。編譯caffe導致未定義的引用google名稱空間

,同時也使這一切以下命令

make all -j $(($(nproc) + 1)) 

我收到以下錯誤消息。

.build_release/tools/convert_imageset.o: In function `_GLOBAL__sub_I_convert_imageset.cpp': 
convert_imageset.cpp:(.text.startup+0x74): undefined reference to `google::FlagRegisterer::FlagRegisterer<bool>(char const*, char const*, char const*, bool*, bool*)' 
convert_imageset.cpp:(.text.startup+0xa3): undefined reference to `google::FlagRegisterer::FlagRegisterer<bool>(char const*, char const*, char const*, bool*, bool*)' 
convert_imageset.cpp:(.text.startup+0x117): 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> >*)' 

我通過網上找了一些混帳線程一些可能的解決方案和其他一些threads。沒有工作。任何形式的幫助或建議將不勝感激。

回答

0

該問題可以通過下載gflags包並手動安裝來解決。使用以下命令:

$ tar xzf gflags-$version-source.tar.gz 
$ cd gflags-$version 
$ mkdir build && cd build 
$ ccmake .. 

    - Press 'c' to configure the build system and 'e' to ignore warnings. 
    - Set CMAKE_INSTALL_PREFIX and other CMake variables and options. 
    - Continue pressing 'c' until the option 'g' is available. 
    - Then press 'g' to generate the configuration files for GNU Make. 

$ sudo make -j4 
$ sudo make test -j4 
$ sudo make install -j4