Eine OpenCV-Quelldatei (C++) kann nicht mit „pkg-config --cflags --libs opencv“ kompiliert werden.

Eine OpenCV-Quelldatei (C++) kann nicht mit „pkg-config --cflags --libs opencv“ kompiliert werden.

Ich habe eine OpenCV-Datei (C++) mit der Kommandozeile kompiliert

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

aber ich hatte einen Fehler

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

Wenn ich hingegen die Bibliotheken mit diesem Befehl kopiere:

pkg-config --cflags --libs opencv

Und fügen Sie es manuell in den G++-Befehl ein, dann wird es ausgeführt. Das Problem ist, dass es die Bibliotheken von nicht erkennen kann pkg-config --cflags --libs opencv, aber ich weiß nicht, wie ich das beheben kann. Wenn jemand Erfahrung damit hat, helfen Sie mir bitte, es zu lösen! Vielen Dank!

Antwort1

Um die Ausgabe eines Befehls in einen anderen Befehl einzufügen, verwenden Sie $(...)die Syntax.

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

Antwort2

Sie haben die falschen Anführungszeichen verwendet. Sie hätten das Backtic ` verwenden sollen, nicht das Apostroph '. Oder, wie bereits erwähnt, die $()-Konstruktion funktioniert auch und erlaubt sogar Verschachtelung.

verwandte Informationen