Я пытаюсь написать простое приложение на C ++, которое использует caffee
Это часть моего make-файла:
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
перед запуском вашей программы.