2017-05-19 3 views
0

je la question suivante encoutering lors de l'installation de caffe: /usr/bin/ld: ne trouve pas -lopencv_imgcodecsinstallation Caffe, reliant numéro

Je construit opencv3.2, mais je crois avoir un problème avec liant la cv2.cpython-36m-x86_64-linux-gnu.so bibliothèque. J'ai essayé de l'ajouter au LD_LIBRARY_PATH mais il échoue toujours avec la même erreur.

Dois-je faire un lien vers le cv2.cpython-36m-x86_64-linux-gnu.so dans le chemin LD? si oui, quel chemin dois-je faire exactement le lien dedans.

Voici les dernières lignes de la sortie (l'erreur msg):

CXX examples/mnist/convert_mnist_data.cpp 
CXX .build_release/src/caffe/proto/caffe.pb.cc 
AR -o .build_release/lib/libcaffe.a 
LD -o .build_release/lib/libcaffe.so.1.0.0 
/usr/bin/ld: cannot find -lopencv_imgcodecs 
collect2: error: ld returned 1 exit status 
Makefile:572: recipe for target '.build_release/lib/libcaffe.so.1.0.0' failed 
make: *** [.build_release/lib/libcaffe.so.1.0.0] Error 1 
+0

S'il vous plaît vérifier cette http://stackoverflow.com/questions/37741072/unable-to-install-caffe/43088610 – Rups

+0

j'ai trouvé rien d'utile dans cette solution, je ne veux pas aussi essayer 'Conda install -c menpo opencv3 = 3.2.0' comme j'ai déjà compilé et construit à la main l'opencv3.2 et disposé à savoir quelle étape me manque maintenant. Il pense qu'il s'agit d'un problème de liaison – Kasparov92

+1

Il ne peut pas trouver le chemin pour atteindre libopencv_imgcodecs.so, vérifier où il se trouve et ajouter le même chemin dans LIBRARY_DIRS de Makefile.config – Rups

Répondre

1

Il ne peut pas trouver le moyen d'atteindre libopencv_imgcodecs.so, vérifiez où il se trouve & ajouter même chemin dans LIBRARY_DIRS de Makefile.config

Ouvrez votre fichier Makefile.config, vous trouverez les lignes suivantes:

# Whatever else you find you need goes here. 
    INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include 
    LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib 

Si vous avez trouvé l'emplacement, par exemple/h ome/nom d'utilisateur/anaconda3/envs/nom-env/lib, puis ajoutez-le à LIBRARY_DIRS.

LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /home/<username>/anaconda3/envs/<env-name>/lib 
+0

j'ai trouvé la raison pour laquelle il a échoué, dans 'PYTHON_LIB: = $ (ANACONDA_HOME)/lib' J'ai changé' ANACONDA_HOME: = $ (HOME)/anaconda3/'' à ANACONDA_HOME: = $ (HOME)/anaconda3/envs//'et en ajustant le chemin PYTHON_INCLUDE corrigé mon problème :) – Kasparov92

+0

Si quelqu'un est tombé sur ce problème et ne trouve pas la bibliothèque, s'il vous plaît se référer à http://stackoverflow.com/a/12335952/871418. Aussi, vous pouvez le chercher d'autres façons comme ctrl + F dans certains répertoires suspectés – Kasparov92