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

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

这是我的makefile的一部分:

 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 

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

 error while loading shared libraries: libcaffe.so: cannot open shared object file: No such file or directory

但该文件显然位于:../Caffe/caffe/build/lib,其中包括.有人可以帮我从这里出去吗?

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

点赞