2016-01-20 125 views
0

我的os是ubuntu15.10。当我使用CMake编译Caffe时,我得到了那些错误:编译Caffe时未定义的leveldb引用

[ 95%] Built target train_net 
Scanning dependencies of target classification 
../lib/libcaffe.so: undefined reference to ‘leveldb::DB::Open(leveldb::Options const&, std::string const&, leveldb::DB**)’ 
../lib/libcaffe.so: undefined reference to ‘leveldb::Status::ToString() const’ 
collect2: error: ld returned 1 exit status 
tools/CMakeFiles/caffe.bin.dir/build.make:126: recipe for target 'tools/caffe' failed 
make[2]: *** [tools/caffe] Error 1 
CMakeFiles/Makefile2:406: recipe for target 'tools/CMakeFiles/caffe.bin.dir/all' failed 
make[1]: *** [tools/CMakeFiles/caffe.bin.dir/all] Error 2 

我已经安装了libleveldb-dev。

如果我使USE_LEVELDB“Build with levelDB”在CMakeLists中变为OFF,编译将会成功,但这些示例无法运行。

回答

1

好的... 2个小时前我自己解决了这个问题。我放弃使用CMake和做了一些变化,makefile.configure

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/lib/x86_64-linux-gnu/hdf5/serial/include /home/vic/leveldb/include/leveldb /opt/OpenBLAS/include 
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /home/vic/leveldb /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial /opt/OpenBLAS/lib 

我只是添加了一系列而且我认为他可能是图书馆的地址。 最后,我成功编译Caffe 使所有与levelDB成功运行mnist。如果他们与早期版本不在同一地点,她可能真的找不到这些图书馆。

相关问题