web-dev-qa-db-fra.com

Impossible de compiler un fichier source opencv (C ++) avec 'pkg-config --cflags --libs opencv'

J'ai compilé un fichier opencv (C++) en ligne de commande

g++ facedetect.cpp -o facedetect 'pkg-config --cflags --libs opencv'

mais j'ai eu une erreur

g++: error: pkg-config --cflags opencv: No such file or directory 
g++: error: pkg-config --libs opencv: No such file or directory

Considérant que lorsque je copie les bibliothèques à partir de cette commande:

pkg-config --cflags --libs opencv

Et collez-le manuellement dans la commande g ++, puis il s'exécute. Le problème est qu'il ne peut pas reconnaître les bibliothèques de pkg-config --cflags --libs opencv, mais je ne sais pas comment le réparer. Si quelqu'un a de l'expérience à ce sujet, aidez-moi à le résoudre! Merci beaucoup!

4
Alex

Pour obtenir le résultat d'une commande insérée dans une autre commande, utilisez la syntaxe $(...).

g++ facedetect.cpp -o facedetect $(pkg-config --cflags --libs opencv)
4
Mark H

Vous avez utilisé les mauvaises citations. Vous auriez dû utiliser le backtic "pas l'apostrophe". Ou a été souligné, la construction $ () fonctionne aussi, et permet même la nidification.

3
ubfan1