OpenCV 2.4.2 brauchte 6 Stunden, um auf dem Raspberry Pi zu kompilieren, und ich würde gerne alles als Deb verpacken, aber das habe ich noch nie gemacht. Wie kann ich die kompilierten Dateien so verpacken, dass sie die erforderlichen anderen Bibliotheken herunterladen oder enthalten?
9
Antworten:
Wenn Sie mit OpenCV die Computer Vision-Bibliotheken unter http://opencv.willowgarage.com/ meinen, dann sind sie bereits vom Debian Science Team für Debian verpackt.
Am besten laden Sie das debianisierte Quellpaket von Ihrem nächsten Debian-Spiegel herunter, ändern das Debian / die Regeln und / oder das Makefile oder konfigurieren usw. nach Bedarf, um es auf dem Himbeer-Pi korrekt zu kompilieren und die Pakete neu zu erstellen.
Die Verpackungsarbeiten sind bereits erledigt, Sie müssen sie nicht erneut ausführen ... und jedes Mal, wenn Sie sie aktualisieren möchten.
Es gibt eine ganze Reihe von Binärpaketen, aber libopencv-dev ist wahrscheinlich das, was Sie mit http://packages.debian.org/search?keywords=libopencv-dev beginnen möchten
quelle
Ich dachte, ich würde eine bessere Antwort für alle anderen hinzufügen, die diesen Thread beobachten.
Wenn Sie sich bereits die Mühe gemacht haben, opencv auf dem Gerät zu erstellen, haben Sie wahrscheinlich die folgenden Anweisungen befolgt:
http://docs.opencv.org/doc/tutorials/introduction/linux_install/linux_install.html
In diesem Fall wird eine Datei generiert , wenn Sie
-D args
in Schritt 2 die CMake-Parameter nicht hinzufügen, um sie dynamisch zu überschreiben, und stattdessen nurcmake ..
im (von Ihnen erstellten) Build-Verzeichnis ausgeführtCMakeCache.txt
werden.Wenn Sie die
CMakeCache.txt
Datei bearbeiten , können Sie Folgendes ändern:CPACK_BINARY_DEB:BOOL=ON
... zusätzlich zu den anderen angegebenen Variablen im obigen opencv-Link. Anstatt zu rennen
make
odermake install
... einfach zu rennenmake package
und die Magie passiert.Warnung: Wenn ja, haben
WITH_CUDA:BOOL=ON
Sie möglicherweise Abhängigkeitsprobleme mit dem Packager - und das ist eine ganz andere Frage ...Weitere Informationen finden Sie in den
CPACK_*_*:BOOL
Parametern in den cmake-Dateien und in der CPack-Dokumentation:http://www.cmake.org/Wiki/CMake:CPackPackageGenerators
quelle
OpenCV-*-{libs,dev}.deb
beides brauchen. Ich denke, dev hat die Header, die ld verwendet, um gegen die .so in libs zu verlinken. Sie können dies auch herausfinden, indem Siedpkg -c OpenCV-*.deb
das Paket ausführen , um den Inhalt aufzulisten. Wenn Sie dies aus source.tar erstellt haben, haben Sie möglicherweise keine Versionsnummer und diesdpkg -i $pkg
wird Ihnen nicht gefallen. Sie können feststellen, obOpenCV-unknown-*{dev,libs}.deb
in welchem Fallgit clone github.com/Itseez/opencv
undgit checkout $tag
auf der Registerkarte "Releases" steht. Wenn Sie von oben auf dem Baum bauen, erhalten Sie auch ein Tag auf deb.Diese Seite sollte alle Informationen und Tutorials enthalten, die Sie benötigen: http://wiki.debian.org/Packaging
quelle