Colmap-Installation in der Windows-Umgebung

Colmap muss mit CMake,Boost, QT5, CUDA und CGAL entsprechend der Kompilierungsmethode vorinstalliert werden die offizielle Website.

Abhängige Bibliotheken

1.cmake

Installationsreferenz:cmake installation_Funny Monkey’s Blog-CSDN Blog

Fügen Sie nach der Dekomprimierung das bin-Verzeichnis zur Umgebungsvariablen Path hinzu. Wie im Bild gezeigt:

2.Boost

Installationsreferenz:Boost-Installation_Funny Monkey’s Blog-CSDN-Blog

Doppelklicken Sie nach dem Herunterladen, um es auszuführen und in einen Ordner zu extrahieren. Hier habe ich es standardmäßig auf das Laufwerk C extrahiert. Es muss eine entsprechende Version der lib-Bibliothek vorhanden sein

und Umgebungsvariablen hinzufügen:

 3.QT5

 Installationsreferenz:QT5-Installation_Funny Monkey’s Blog-CSDN-Blog

und Umgebungsvariablen hinzufügen:

4. ANDERS

Es gibt viele Tutorials zur Installation von CUDA, daher werde ich hier nicht auf Details eingehen. Laut der offiziellen Website ist die Installation von CUDA von COLMAP optional.

 5. CGAL

Installationsreferenz:

Offizielle Website zum Herunterladen:CGAL für Windows herunterladen

 Laden Sie die beiden rot eingekreisten Dateien herunter. Die obige ist die notwendige Abhängigkeit

Entpacken Sie CGAL-5.2.1.zip in den Ordner D:\dev und kopieren Sie den dekomprimierten Ordner gmp der GMP- und MPFR-Bibliotheken in den Ordner D:\dev\CGAL-5.2.1\auxiliary.

 

 

und Umgebungsvariablen hinzufügen:

 Colmap-Installation

Nachdem die oben genannten Abhängigkeiten installiert sind, können Sie mit der Kompilierung von Colmap beginnen.

Prüfen Sie vor dem Kompilieren, ob die Umgebungsvariablen verfügbar sind:

colmap-Download-Link:Veröffentlichungen · colmap/colmap · GitHub

Was ich hier heruntergeladen und kompiliert habe, ist die Entwicklerversion. Nach dem Herunterladen handelt es sich um ein komprimiertes Paket. Entpacken Sie es einfach in das Dateiverzeichnis, in dem Sie es ablegen möchten.

Für die Kompilierung empfehlen wir die Python-Skriptkompilierungsmethode auf der offiziellen Website, da diese Kompilierungsmethode automatisch die erforderlichen abhängigen Bibliotheken für Sie herunterlädt, was viel bequemer ist, als CMake selbst zu verwenden.

Öffnen Sie das cmd-Befehlsfenster und geben Sie Folgendes ein:

Python C:\Users\86130\Desktop\COLMAP-3.8-windows-cuda\colmap-3.8\scripts\python\build.py --build_path C:\Users\86130\Desktop\COLMAP-3.8-windows-cuda\colmap-3.8\build --colmap_path C:\Users\86130\Desktop\COLMAP-3.8-windows-cuda\colmap-3.8 --boost_path "C:/local/boost_1_82_0/lib64-msvc-14.3"  --qt_path "C:\Qt\Qt5.14.2\5.14.2\msvc2017_64" --cuda_path "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.2"

Beachten Sie, dass die Pfade im obigen Code alle meine Dateipfade sind. Sie müssen bei der Installation jeder Datei selbst in die entsprechenden Pfade geändert werden.

Während des Kompilierungsprozesses muss der Netzwerkzustand gut sein und einige abhängige Bibliotheken werden automatisch heruntergeladen:

Nach Abschluss der Kompilierung wird die Build-Datei im Quellcode-Dateiverzeichnis generiert:

Nach Abschluss der Kompilierung wird die Build-Datei im Quellcode-Dateiverzeichnis generiert:

 Öffnen Sie COLMAP.sln

Klicken Sie auf colmap.bat, um es auszuführen

Installationsprobleme

1. Der Online-Download abhängiger Bibliotheken ist fehlgeschlagen, einschließlich Eigen-, FreeImage-, glew- und ceres-bezogener Bibliotheken: Urlopen-Fehler
Die empfohlene Methode besteht darin, Skripte für die automatische Installation zu verwenden um Colmap-Abhängigkeiten online herunterzuladen. Mehrere Bibliotheken. Wenn das Netzwerk eingeschränkt ist, z. B. wenn die Wand nicht umgangen werden kann und der Download langsam ist, oder die URL in der py-Datei ungültig ist, kann die Installation nicht normal durchgeführt werden. Manchmal dauert die Wartezeit lange oder es erscheint die folgende Fehlermeldung:

Wenn Sie also über den Quellcode dieser Bibliotheken verfügen, legen Sie ihn direkt in dem in py angegebenen Ordner ab.

Öffnen Sie build.py. Tatsächlich besteht seine Funktion darin, die Bibliothek herunterzuladen, zu dekomprimieren, in den Ordner __install__ zu verschieben und sie dann mit cmake zu kompilieren und zu installieren. Wenn es nicht heruntergeladen werden kann, können wir den Download- und Dekomprimierungsteil der py-Datei auskommentieren und direkt mit der Kompilierung und Installation beginnen. Ändern Sie einfach den entsprechenden Namen in py.

2.Glew-Kompilierung fehlgeschlagen, glew.obj: Fehler LNK2019: unaufgelöstes externes Symbol-Memset, das Symbol wird in der Funktion glewContextInit referenziert
Verwenden Sie build.py, um glew automatisch zu kompilieren Der obige Fehler wird ebenfalls angezeigt. Öffnen Sie glews SLN, öffnen Sie unter Debug den Eigenschaftsmanager von glew_s – „Zusätzliche Abhängigkeiten –“, fügen Sie msvcrt.lib hinzu und generieren Sie das Projekt neu.

3. Probleme, die bei Suiteparse und Ceres auftreten können: lib-Datei kann nicht gefunden werden
Die Probleme sind ähnlich, Sie können auf meinen anderen Blog verweisen. Wenn es ein Problem mit build.py gibt, können Sie suiteparse und ceres auch separat kompilieren. Achten Sie jedoch darauf, die generierten Include- und Lib-Dateien in dem in .py erforderlichen Ordner zu installieren.

4. (im Vergleich zu 2019) Kompilierungsfehler: Externes Symbol wurde durch Boost nicht aufgelöst

Die vorherige Kompilierung war erfolgreich, die statische Colmap-Bibliothek wurde ebenfalls generiert, der Link wurde gestartet und die exe-Datei wurde generiert. Der folgende Fehler ist aufgetreten:

**Ursache:** Unbekannt. Dieselbe Methode wird in vs2017 nicht angezeigt. Beim Kompilieren von vs2019 liegt ein Problem vor. Möglicherweise liegt es am Compiler.

Lösung: Öffnen Sie das Colmap-Projekt manuell und ändern Sie alle zusätzlichen Abhängigkeiten im Zusammenhang mit Boost libboost_xxx unter der Veröffentlichung des Colmap_exe-Projekts in Boost_xxx. Verwenden Sie vs direkt, um das Projekt zu generieren, kommentieren Sie weiterhin einige Funktionen in der py-Datei und führen Sie py aus, um einige abhängige Elemente zu kopieren.
 

Guess you like

Origin blog.csdn.net/qq_46684028/article/details/131972571