加载共享库时出错:libcaffe.so

时间:2015-08-23 20:47:33

标签: c++ caffe

我正在尝试编写一个使用caffee的简单c ++应用程序

这是我的makefile的一部分:

DROP DATABASE databasename

程序成功编译但是当我尝试运行结果时,我收到以下错误:

 FLAGS := -I/usr/local/cuda/include -I/home/guinness/GamerIA/Caffe/caffe  /include/ -I/home/guinness/GamerIA/Caffe/caffe/src/ -I$(ALE)/src -I$(ALE)/src/controllers -I$(ALE)/src/os_dependent -I$(ALE)/src/environment -I$(ALE)/src/external -L$(ALE) -L../Caffe/caffe/build/lib -L/usr/local/cuda/lib64/ -L/usr/lib/x86_64-linux-gnu
 CXX := g++ -std=c++11
 INC:= GAImage.cpp GAScreen.cpp GABrain.cpp
 FILE := main 
 LDFLAGS := -lale -lz -lpthread -lglog -lprotobuf -lleveldb -lsnappy -lboost_system -lhdf5_hl -lhdf5 -lopencv_core -lopencv_highgui -lopencv_imgproc -lcblas -lboost_python -lpython2.7 -lcudart -lcublas -lcurand -lcudnn -lcaffe 

但该文件显然位于:../Caffe/caffe/build/lib,其中包含了该文件。任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:2)

当你链接时,它在动态链接器的可执行文件中包含一个小注释“嘿,我需要libcaffe.so!”但它没有说明在哪里找到它。当你运行程序时,你可能需要给动态链接器一些额外的信息,说“嘿,当你在寻找库时,也可以在这里查看!”,你可以通过设置LD_LIBRARY_PATH环境变量来做在运行程序之前到包含libcaffe.so的目录。