Opencv: 4.0.0 erzeugt keine pkgconfig-Datei

Erstellt am 13. Nov. 2018  ·  40Kommentare  ·  Quelle: opencv/opencv

Systeminformationen (Version)
  • OpenCV => 4.0.0-rc
  • Betriebssystem / Plattform => Ubuntu 18.10
  • Compiler => gcc 8.2.0 / gcc 6
Detaillierte Beschreibung

Ich habe cmake ... Dann machen und dann installieren
und es wird keine opencv.pc-Datei generiert.

Wenn ich für Version 3.4.3 dieselben Befehle verwende, wird die Datei erstellt.

Etwas anderes
Wenn ich mit pkgconfig verknüpfe, wird eine Verknüpfung zu Bibliotheken ohne Versionsnummer hergestellt.
Die Installation von 4.0.0-rc nach 3.4.3 macht pkgconfig unbrauchbar.
Es wäre schön, wenn es mehrere opencv.pc-Dateien wie opencv3.4.pc opencv4.pc gäbe

builinstall question (invalid tracker) wontfix

Hilfreichster Kommentar

Ich hatte das gleiche Problem, zum Glück habe ich diesen Thread gefunden, und ich muss zustimmen, nicht jeder verwendet cmake.
Für jeden, der mit dem gleichen Problem auf diesen Thread stößt, habe ich verwendet
cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_GENERATE_PKGCONFIG=YES -D CMAKE_INSTALL_PREFIX=/usr/local ..

Der Schlüssel hier ist: -D OPENCV_GENERATE_PKGCONFIG=YES
Fahren Sie dann wie gewohnt mit dem Erstellen und Installieren fort. Ich habe es überprüft und es scheint, dass OpenCV die Datei .pc jetzt installiert, sodass Sie sie nicht manuell kopieren müssen. Das Paket wird mit dem Namen "opencv4" installiert. Verwenden Sie also pkg-config --cflags opencv4 .

Alle 40 Kommentare

Pkg-config hat eine sehr eingeschränkte Funktionalität, daher wurde diese Unterstützung eingestellt.

Verwenden Sie CMake stattdessen mit find_package(OpenCV) (mit Mehrfachversionsauswahl, "on the fly" -Konfiguration über die Skriptsprache usw.).

Änderungen sind hier:

  • # 12897 # 12896
  • und hier

Gibt es eine Möglichkeit, die Unterstützung von pkg-config wieder einzuführen? Die derzeit generierten PC-Dateien scheinen für die meisten Einstellungen zu funktionieren, und nicht jeder verwendet cmake . Es scheint mir, dass es für die meisten Anwendungsfälle mit pkg-config bereits ausreicht, nur eine Liste der Bibliotheken zu haben, von denen OpenCV abhängt, sowie die Informationen, in denen sich die Header- und .so-Dateien befinden. Oder gibt es diesbezüglich irgendwelche Einschränkungen?

Die Option OPENCV_GENERATE_PKGCONFIG = ON generiert die '.pc'-Datei. Ich denke auch, dass es standardmäßig in * nix-Systemen generiert werden sollte, in denen pkg-config verwendet wird. Ich habe meine Binärdateien mit ldd getestet und sie sind richtig verlinkt. Es ist nur Entwicklungszeit, in der Konflikte auftreten können. Und ich denke, die gleichen Probleme können auch bei cmake auftreten. Es ist möglich, spezifischer als nur -llib zu sein. Es ist möglich, Bibliotheken genau anhand der .so-Datei anzugeben.

CMakeLists.txt:

OCV_OPTION(OPENCV_GENERATE_PKGCONFIG  "Generate .pc file for pkg-config build tool (deprecated)" ON)

es funktioniert nicht

@codenoid Ich glaube, das Argument für diese Option ist tatsächlich YES

ffmpeg stützt sich auf .pc-Dateien für die Abhängigkeit von OpenCV-Bibliotheken, FWIW ...

Auch als Hinweis "make install" installiert die .pc-Datei nicht, selbst wenn sie generiert wird: |

Auch als Hinweis "make install" installiert die .pc-Datei nicht, selbst wenn sie generiert wird: |

Haben Sie es geschafft, die PC-Datei zu installieren?

Ja, ich habe es nur manuell kopiert .: |

Am Dienstag, den 15. Januar 2019 um 14:20 Uhr schrieb Favi0 [email protected] :

Als Hinweis installiert "make install" die .pc-Datei nicht, selbst wenn dies der Fall ist
generiert: |

Haben Sie es geschafft, die PC-Datei zu installieren?

- -
Sie erhalten dies, weil Sie kommentiert haben.
Antworte direkt auf diese E-Mail und sieh sie dir auf GitHub an
https://github.com/opencv/opencv/issues/13154#issuecomment-454555451 ,
oder schalten Sie den Thread stumm
https://github.com/notifications/unsubscribe-auth/AAAw0IVOZFkcmQtjPGnwDjxWhzJoO-dxks5vDkYegaJpZM4Ycby9
.

Ich hatte das gleiche Problem, zum Glück habe ich diesen Thread gefunden, und ich muss zustimmen, nicht jeder verwendet cmake.
Für jeden, der mit dem gleichen Problem auf diesen Thread stößt, habe ich verwendet
cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_GENERATE_PKGCONFIG=YES -D CMAKE_INSTALL_PREFIX=/usr/local ..

Der Schlüssel hier ist: -D OPENCV_GENERATE_PKGCONFIG=YES
Fahren Sie dann wie gewohnt mit dem Erstellen und Installieren fort. Ich habe es überprüft und es scheint, dass OpenCV die Datei .pc jetzt installiert, sodass Sie sie nicht manuell kopieren müssen. Das Paket wird mit dem Namen "opencv4" installiert. Verwenden Sie also pkg-config --cflags opencv4 .

Systeminformationen (Version)
  • OpenCV => 4.0.0-rc
  • Betriebssystem / Plattform => Ubuntu 18.10
  • Compiler => gcc 8.2.0 / gcc 6
Detaillierte Beschreibung

Ich habe cmake ... Dann machen und dann installieren
und es wird keine opencv.pc-Datei generiert.

Wenn ich für Version 3.4.3 dieselben Befehle verwende, wird die Datei erstellt.

Etwas anderes
Wenn ich mit pkgconfig verknüpfe, wird eine Verknüpfung zu Bibliotheken ohne Versionsnummer hergestellt.
Die Installation von 4.0.0-rc nach 3.4.3 macht pkgconfig unbrauchbar.
Es wäre schön, wenn es mehrere opencv.pc-Dateien wie opencv3.4.pc opencv4.pc gäbe

opencv 4.0.1 hat auch seine Frage, nach der Installation wird keine opencv.pc generiert, auch keine pkgconfig-Datei

Ich hatte das gleiche Problem, zum Glück habe ich diesen Thread gefunden, und ich muss zustimmen, nicht jeder verwendet cmake.
Für jeden, der mit dem gleichen Problem auf diesen Thread stößt, habe ich verwendet
cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_GENERATE_PKGCONFIG=YES -D CMAKE_INSTALL_PREFIX=/usr/local ..

Der Schlüssel hier ist: -D OPENCV_GENERATE_PKGCONFIG=YES
Fahren Sie dann wie gewohnt mit dem Erstellen und Installieren fort. Ich habe es überprüft und es scheint, dass OpenCV die Datei .pc jetzt installiert, sodass Sie sie nicht manuell kopieren müssen. Das Paket wird mit dem Namen "opencv4" installiert. Verwenden Sie also pkg-config --cflags opencv4 .

Ich habe es getan, wie Sie gesagt haben, aber es gab weder pkgconfig noch opencv.pc ...

Ich habe das Flag "-D OPENCV_GENERATE_PKGCONFIG = YES" hinzugefügt, cmake ausgeführt, make und gefunden:

... / unix-install / opencv4.pc

Wie von anderen erwähnt, hat "make install" die Datei nirgendwo unter / usr / local kopiert.
Ich kann nicht herausfinden, wohin opencv4.pc gehen soll, indem ich nur die Manpage pkg-config lese - irgendwo unter / usr / local, aber genau wo?

Hatte auch das gleiche Problem, bei dem make install nicht über opencv4.pc kopiert hat, aber ich habe die 4.1.0-Zip von der Release-Seite verwendet.

@UberEclectic @ Kevin-Mok Die Datei opencv4.pc sollte nach / usr / local / lib / pkgconfig kopiert werden. Vergessen Sie nicht, 'sudo ldconfig' zu verwenden, um sicherzustellen, dass die kürzlich installierten OpenCV-Bibliotheken korrekt berücksichtigt werden. RC

Ich hatte das gleiche Problem, zum Glück habe ich diesen Thread gefunden, und ich muss zustimmen, nicht jeder verwendet cmake.
Für jeden, der mit dem gleichen Problem auf diesen Thread stößt, habe ich verwendet
cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_GENERATE_PKGCONFIG=YES -D CMAKE_INSTALL_PREFIX=/usr/local ..

Der Schlüssel hier ist: -D OPENCV_GENERATE_PKGCONFIG=YES
Fahren Sie dann wie gewohnt mit dem Erstellen und Installieren fort. Ich habe es überprüft und es scheint, dass OpenCV die Datei .pc jetzt installiert, sodass Sie sie nicht manuell kopieren müssen. Das Paket wird mit dem Namen "opencv4" installiert. Verwenden Sie also pkg-config --cflags opencv4 .

In meinem Fall wurde keine CP-Datei installiert.

Ja, ich habe es nur manuell kopiert .: |

Am Di, 15. Januar 2019 um 14:20 Uhr Favi0 @ . * > schrieb: Auch als Hinweis "make install" installiert die .pc-Datei nicht, selbst wenn sie generiert wird: | Haben Sie es geschafft, die PC-Datei zu installieren? - Sie erhalten dies, weil Sie kommentiert haben. Antworten Sie direkt auf diese E-Mail, zeigen Sie sie auf GitHub < # 13154 (Kommentar) > an oder https://github.com/notifications/unsubscribe-auth/AAAw0IVOZFkcmQtjPGnwDjxWhzJoO-dxks5vDkYegaJpZM4Ycby9 stumm.

Wie hast du das gemacht? In meinem Fall hat es sogar keine opencv.cp Datei erstellt!

So mache ich das FWIW opencv 3.4.5

do_make_and_make_install
cp unix-install/opencv.pc $PKG_CONFIG_PATH

Am Montag, 29. April 2019, um 10:26 Uhr schrieb s [email protected] :

Ja, ich habe es nur manuell kopiert .: |
… <# M_9070919798374828714_>
Am Di, 15. Januar 2019 um 14:20 Uhr Favi0 @ . * > schrieb: Auch als Notiz
"make install" installiert die .pc-Datei nicht, auch wenn sie generiert wurde: | haben
Sie haben es geschafft, die PC-Datei zu installieren? - Sie erhalten dies, weil Sie
kommentiert. Antworten Sie direkt auf diese E-Mail und sehen Sie sie sich auf GitHub <# 13154 an
(Kommentar)
https://github.com/opencv/opencv/issues/13154#issuecomment-454555451 >,
oder schalten Sie den Thread stumm
https://github.com/notifications/unsubscribe-auth/AAAw0IVOZFkcmQtjPGnwDjxWhzJoO-dxks5vDkYegaJpZM4Ycby9
.

Wie hast du das gemacht?

- -
Sie erhalten dies, weil Sie kommentiert haben.
Antworte direkt auf diese E-Mail und sieh sie dir auf GitHub an
https://github.com/opencv/opencv/issues/13154#issuecomment-487647192 ,
oder schalten Sie den Thread stumm
https://github.com/notifications/unsubscribe-auth/AAADBUGSALBP6IJAXOVIOLTPS4OSLANCNFSM4GDRXS6Q
.

nützlich, wenn CMake nicht in Projekten verwendet wird, die OpenCV verwenden

Sagen Sie bitte nicht, dass dies veraltet ist

[1]
https://github.com/opencv/opencv/commit/73f65b1ccf220572f8cbad6fe06d19f313892db5

Unter 4.1.0 und den folgenden wird keine PC-Datei generiert
cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_GENERATE_PKGCONFIG=YES -D CMAKE_INSTALL_PREFIX=/usr/local ..

Mit 4.1.0 wurde es funktionsfähig. Ich habe den Fehler in dem zuvor angegebenen Befehl gefunden. Müssen ON anstelle von YES verwenden.

OPENCV_GENERATE_PKGCONFIG=ON

pkg-config --cflags opencv4
-I/usr/include/opencv4/opencv -I/usr/include/opencv4
$ pkg-config --libs opencv4
-lopencv_aruco -lopencv_bgsegm -lopencv_bioinspired -lopencv_ccalib -lopencv_dnn_objdetect -lopencv_dpm -lopencv_face -lopencv_freetype -lopencv_fuzzy -lopencv_gapi -lopencv_hfs -lopencv_img_hash -lopencv_line_descriptor -lopencv_quality -lopencv_reg -lopencv_rgbd -lopencv_saliency -lopencv_stereo -lopencv_stitching -lopencv_structured_light -lopencv_phase_unwrapping -lopencv_superres -lopencv_optflow -lopencv_surface_matching -lopencv_tracking -lopencv_datasets -lopencv_text -lopencv_dnn -lopencv_plot -lopencv_videostab -lopencv_video -lopencv_xfeatures2d -lopencv_shape -lopencv_ml -lopencv_ximgproc -lopencv_xobjdetect -lopencv_objdetect -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_flann -lopencv_xphoto -lopencv_photo -lopencv_imgproc -lopencv_core

nützlich, wenn CMake nicht in Projekten verwendet wird, die OpenCV verwenden

Sagen Sie bitte nicht, dass dies veraltet ist

[1]
[73f65b1] (https://github.com/opencv/opencv/commit/73f65b1ccf220572f8cbad6fe06d19f313892db5)

Ich ändere meine Sichtweise, kann vielleicht als veraltet bezeichnet werden ...

Die Option -D OPENCV_GENERATE_PKGCONFIG = ON in cmake ist also jetzt veraltet? Wie können wir dann die Dateien pkgconfig und opencv.pc erhalten?

Die Option -D OPENCV_GENERATE_PKGCONFIG = ON in cmake ist also jetzt veraltet? Wie können wir dann die Dateien pkgconfig und opencv.pc erhalten?

Wenn Sie OPENCV_GENERATE_PKGCONFIG nicht explizit hinzufügen, wird ON nicht generiert.

Ich habe zu meinem% cmake hinzugefügt

-DOPENCV_GENERATE_PKGCONFIG=ON \
-DOPENCV_PC_FILE_NAME=opencv.pc \

Damit cmake-Dateien im Standard-cmake-Ordner installiert werden, füge ich hinzu:

-DOPENCV_CONFIG_INSTALL_PATH=%{_libdir}/cmake/OpenCV \

Bitte zwingen Sie nicht alle, CMAKE zu verwenden. Viele Projekte verwenden CMAKE nicht und das aus guten Gründen.

Also habe ich die AUR-Repository-Version von opencv installiert. Diese Installation hat keine opencv.pc generiert. Eines meiner Projekte (in C) verwendet 'pkg-config opencv --libs' als eine der Make-Optionen. Gibt es eine Möglichkeit, diese opencv.pc zu generieren, ohne sie aus diesem Repository zu erstellen? Ich möchte zwei Versionen von opencv, eine von Pacman verwaltete und eine manuelle Installation, auf meinem Bogen installieren.

Damit cmake-Dateien im Standard-cmake-Ordner installiert werden, füge ich hinzu:

-DOPENCV_CONFIG_INSTALL_PATH=%{_libdir}/cmake/OpenCV \

Ich hatte einen Fehlerbericht https://bugzilla.redhat.com/show_bug.cgi?id=1721876
Jetzt verwende ich einen relativen PFAD für OPENCV_CONFIG_INSTALL_PATH

-DOPENCV_CONFIG_INSTALL_PATH=%{_lib}/cmake/OpenCV \

oder

-DOPENCV_CONFIG_INSTALL_PATH=lib64/cmake/OpenCV \

@ sergiomb2 Das erwähnte Ticket handelt nicht von der pkg-config-Datei (dies ist der Fall).
Es gibt neue Korrekturen / Diskussionen zur CMake-Konfigurationsgenerierung und zu absoluten / relativen Pfaden: # 14925 # 14963

Mit 4.1.0 wurde es funktionsfähig. Ich habe den Fehler in dem zuvor angegebenen Befehl gefunden. Müssen ON anstelle von YES verwenden.

OPENCV_GENERATE_PKGCONFIG=ON
....

Das ist richtig, ich habe beide getestet. Wenn ON verwendet wird, generiert opencv4 die Datei opencv4.pc im Ordner ... / pkconfig.

Als Randnotiz gibt es Fehler oder veralteten Code in Büchern für opencv4. Ich hatte tagelang Mühe, ein Beispiel zum Laufen zu bringen. Endlich habe ich das und es funktioniert:

cd ~ / opencv / samples / cpp
g ++ opencv_version.cpp $ (pkg-config --cflags --libs opencv4) -o show_version

Hallo.

Ich mag es nicht, -1 auf einen bereits akzeptierten (aber voreingenommenen) Vorschlag zu setzen, aber hier eine umfassendere Erklärung:

Es wäre schön, wenn es mehrere opencv.pc-Dateien wie opencv3.4.pc opencv4.pc gäbe

Wenn eine Anwendung mit opencv2 kompatibel ist -> opencv5 (wenn der zukünftige Master jemals 5 ist), ist es einfach genug, sich auf dieselbe opencv.pc zu verlassen (wenn Sie pkgconf verwenden) und sich nicht ab und zu anzupassen.

Ich möchte opencv.pc standardmäßig weiterhin verwenden, um zu vermeiden, dass Anwendungen jedes Mal angepasst werden müssen, wenn sich die opencv.pc-Version ändert. Weil es von einem Distributionspaket-Betreuer einfacher ist, wenn alle dieselbe opencv.pc verwenden.
Sie können die # 16902 für andere Kommentare zum Thema sehen.

Ich versuche OPENCV_GENERATE_PKGCONFIG = ON. aber nicht arbeiten.
Ich versuche OPENCV_GENERATE_PKGCONFIG = YES. aber nicht arbeiten.
Ich versuche -DOPENCV_GENERATE_PKGCONFIG = ON. aber nicht arbeiten.
opencv 4.3.0
Ich installiere opencv auf meinem lokalen Pfad. wie / data / home / xxx / opencv. Ich benutze make und make install. oder make make install. beide funktionieren nicht.
Ich gebe auf. Ich werde lib hinzufügen und Datei zum Makefile hinzufügen.

In der Option cmake müssen Sie -DOPENCV_GENERATE_PKGCONFIG = ON setzen
Nachdem Sie den Befehl make "ausgeführt haben, finden Sie in Ihrem Build-Ordner einen Ordner mit dem Namen Ihres Betriebssystems (in meinem Fall" unix ") in der PC-Datei

@Usernamezhx

Sie haben die Option "-D" nicht vergessen, oder?

Ich hatte immer ein Leerzeichen nach -D wie in den Dokumenten, wie:
-D OPENCV_GENERATE_PKGCONFIG = ON

aber das Schreiben ohne Leerzeichen funktioniert anscheinend auch:
-DOPENCV_GENERATE_PKGCONFIG = ON

Das Folgende ist ein Zitat aus meinem Installationsskript und der cmake-Teil funktioniert definitiv für opencv 4.2.0. Dieses Zitat ist keinesfalls ein vollständiges Installationsskript. Ich habe vorher viele Bibliotheken separat installiert, daher müssen Sie ein eigenes Skript für Ihre eigenen Zwecke erstellen. Vergessen Sie nicht die ldconfig am Ende, da damit einige Installationsaufgaben unter Linux abgeschlossen sind. Möglicherweise müssen Sie auch Ihre Pfade in ~ / .bashrc bearbeiten. Zuerst werden heruntergeladene Inhalte in den opencv-Ordner verschoben, dann usw.

mv opencv-4.2.0 opencv
cd opencv
mkdir bauen
CD bauen

cmake -D CMAKE_BUILD_TYPE = RELEASE -D WITH_QT = ON -D OPENCV_GENERATE_PKGCONFIG = ON -D CMAKE_INSTALL_PREFIX = / usr / local -D WITH_V4L = ON -D WITH_EIGEN = ON -D WITH_OPENGT = ON D WITH_XINE = ON -D BUILD_EXAMPLES = ON -D BUILD_PERF_TESTS = OFF -D ENABLE_PRECOMPILED_HEADERS = OFF. .

mache -j6
sudo make install
sudo ldconfig

Überprüfen Sie, wo sich Ihr opencv4.pc befindet:

Bewegen Sie sich zuerst ganz nach oben, zweimal von zu Hause aus mit
cd ..
cd ..

Dann:

sudo find -name opencv4.pc

Sie sollten einige pkgfolders mit diesem finden:

sudo find -name pkgconfig

Hoffe das hilft.

PS. Die Kopie von cmake in meinem vorherigen Beitrag muss eine einzelne durchgehende Zeile ohne Zeilenumbrüche sein. Fügen Sie einfach die richtigen Zeilenumbrüche hinzu, wenn Sie sie manuell in mehrere Zeilen aufteilen möchten.
Sobald Sie glauben, dass Sie opencv richtig installiert haben, können Sie es testen. Wechseln Sie zunächst in den Ordner cpp samples wie folgt:

cd ~ / opencv / samples / cpp

Kompilieren Sie die Datei opencv_version.cpp in eine Ausführungsdatei mit dem Namen show_my_version

g ++ opencv_version.cpp $ (pkg-config --cflags --libs opencv4) -o show_my_version

und führen Sie es aus: ./show_my_version

@ Dalilander ja. Es klappt. so erstaunlich. Danke für Ihre nette Antwort.

Nach der Installation von OpenCV 4.2.0 hatte ich ein ähnliches Problem und konnte keine Möglichkeit finden, ein c ++ - Programm mit CMakeLists.txt zu kompilieren. Ich hatte auch andere Versionen von OpenCV installiert und musste daher einen bestimmten Pfad zum Compiler angeben. Die pkg - configs wurde festgelegt und konnten opencv4 dank der oben angegebenen Lösung zum Erstellen von OpenCV mit _ -D OPENCV_GENERATE_PKGCONFIG=YES _> identifizieren. Obwohl der Pfad der pkg-config .pc-Datei in die Umgebungsvariable wie folgt exportiert werden musste:
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/home/ubuntu/opencv/opencv4/lib/pkgconfig

Die übliche Art, wie ich mit OpenCV bis Version 3.4.4 kompilierte, war cmake . -DOpenCV_DIR=~/opencv/opencv4/share/ (oder / usr / local / share / OpenCV), aber es funktionierte nicht mit 4.2.0. Schließlich wurde festgestellt, dass 4.2.0 die Dateien Config.cmake und Config-version.cmake nicht im Verzeichnis share / ablegte. Stattdessen wurden sie in ein separates Verzeichnis / lib / cmake / opencv4 / gestellt. Jetzt kann ich alle Programme mit cmake. -DOpenCV_DIR=(yopur opencv installation location)/opencv4/lib/cmake/opencv4 kompilieren und alles funktioniert perfekt!

Ich habe auch find_package( OpenCV 4.2.0 REQUIRED ) in CMakeLists.txt hinzugefügt. Ich bin mir nicht sicher, ob dies der beste Weg ist, hoffe aber, dass er anderen hilft!

Hallo,
Ich habe die obigen Vorschläge ausprobiert (danke an @dalilander und @hardikparwana), aber keiner von ihnen hat funktioniert. Die Installation ist: Raspberry PI 4 ARMv7l, Centos 7.
OpenCV ist die neueste Version im GitHub-Repository, Version 4.4 https://github.com/opencv/opencv/

Ich habe openCV wie im folgenden Befehl kompiliert. Ich habe auch versucht ... = ON wie in ... -D OPENCV_GENERATE_PKGCONFIG = YES

make3 -D CMAKE_BUILD_TYPE = RELEASE -D CMAKE_INSTALL_PREFIX = / usr / local -D INSTALL_C_EXAMPLES = ON -D INSTALL_PYTHON_EXAMPLES = ON -D OPENCV_GENERATE_PKGCONFIG = YES -D OPENCV_EXTRA_MODULES_PATH = / usr / local / src / opencv_build / opencv_contrib / modules -D BUILD_EXAMPLES = ON ..

Dann folgte ich den Installationsschritten,

make -j4 (in meinem Fall ist 4)
sudo make install
sudo ln -s /usr/local/lib64/pkgconfig/opencv4.pc / usr / share / pkgconfig /
sudo ldconfig
pkg-config --modversion opencv4

dann wird der folgende Fehler zurückgegeben

@Rasp build] $ pkg-config --modversion opencv4
Das Paket opencv4 wurde im Suchpfad pkg-config nicht gefunden.
Vielleicht sollten Sie das Verzeichnis hinzufügen, das "opencv4.pc" enthält.
auf die Umgebungsvariable PKG_CONFIG_PATH
Kein Paket 'opencv4' gefunden

Muss ich opencv4.pc manuell hinzufügen? Wie muss ich es hinzufügen?

Die besten Wünsche,
ich

@iuri Ich glaube, Sie haben PKG_CONFIG_PATH nicht so exportiert, wie ich es in meiner Lösung vorgeschlagen habe. Sie müssen es manuell tun. Ich denke, Ihr Problem wird gelöst sein, sobald Sie es tun.
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/home/ubuntu/opencv/opencv4/lib/pkgconfig

Ersetzen Sie einfach den Pfad durch Ihren.

Genau!
und warum habe ich es nicht exportiert?
Da es im Verzeichnis share / oder / lib weder eine solche Datei mit dem Namen Config.cmake noch Config-version.cmake gibt. Sie existieren nicht einmal im gesamten Dateisystem. Ich habe übrigens bemerkt, dass Ihre Beispiele für Ubuntu sind, mein Betriebssystem ist Centos 7, Arch ist armV7L
Ich habe "find" in der Befehlszeile ausgeführt und es gab nur Beispiele im openCV-Verzeichnis.

[ @Rasp ~] $ sudo find / -iname "Config.cmake"
/usr/local/src/opencv_build/opencv/samples/hal/c_hal/config.cmake
/usr/local/src/opencv_build/opencv/samples/hal/slow_hal/config.cmake
[ @Rasp ~] $ sudo find / -iname "Config-version.cmake"
[ @Rasp ~] $

Soll ich pkg_config installieren?
https://stackoverflow.com/questions/28997618/installing-pkg-config-files-to-proper-path-on-centos-with-automake

Die besten Wünsche,
ich

Hallo,
Ich habe die Antwort gefunden!
Eigentlich habe ich das Problem gefunden. Mir ist aufgefallen, dass Symlink der falschen Richtung zugewiesen wurde

sudo ln -s /usr/local/lib64/pkgconfig/opencv4.pc / usr / share / pkgconfig /

Es gibt kein / lib64 /. Also entfernte ich diesen Symlink, suchte nach einer Referenz von opencv.pc im Dateisystem, fand "usr / local / lib / pkgconfig / opencv.pc" und erstellte dann einen neuen Symlink.

ln -s /usr/local/lib/pkgconfig/opencv.pc / usr / share / pkgconfig /

"pkg-config --modversion opencv" gibt jetzt 3.4.11 zurück.

Anscheinend habe ich eine frühere Version von openCV, die ich vom YUM pkg manager-System installiert hatte.

Ich werde diese Version bereinigen und eine neue openCV-Insllation aus der 4.2-Quelle von vorne beginnen.

Die besten Wünsche,
ich

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen