我正在尝试编写一个使用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,其中包含了该文件。任何人都可以帮助我吗?
答案 0 :(得分:2)
当你链接时,它在动态链接器的可执行文件中包含一个小注释“嘿,我需要libcaffe.so
!”但它没有说明在哪里找到它。当你运行程序时,你可能需要给动态链接器一些额外的信息,说“嘿,当你在寻找库时,也可以在这里查看!”,你可以通过设置LD_LIBRARY_PATH
环境变量来做在运行程序之前到包含libcaffe.so
的目录。