ubuntuのコルマップのインストール

データセットを処理するためにcolmapをインストールするために、多くの落とし穴を経験したので、それらを簡単にメモしておきます。

1.住所:

ソースコードアドレス: GitHub -colmap/colmap:COLMAP - Structure-from-Motion および Multi-View Stereo

ドキュメントのアドレス:インストール — COLMAP 3.9-dev ドキュメント

2. インストール手順

2.1 ceres-solver のインストール

インストール — Ceres ソルバー

今回の 1.14.0 のインストールでは、公式 Web サイトから直接入手したものと 2.0 の 1 つ、合計 3 つのバージョンを試しましたが、すべてのエラーが報告されました。

1.14.0をネットで見つけてすんなりインストールできました。

解凍後は基本的には

mkdir ceres-bin
cd ceres-bin
cmake ..
make -j4

2.2 Colmap のインストール時の問題の概要

主な参考資料: 一部のエラー レポートについては、これを参照してください。

ubuntu16 に Colmap をインストールする場合の問題と解決策_cudasetupargument 未定義の参照_WZJ&LSK のブログ - CSDN ブログ

まず、非常に重要な点はバージョンです。

つまり、バージョン 3.7 に戻せば問題なく進むはずですが、その背後にある問題のほとんどは他のバージョンにあります。

git checkout 3.7

公式サイトからのインストール紹介は以下の通りです。

1. 依存ライブラリをインストールする

2. Colmap をダウンロードし、バージョンを dev にロールバックしてから、cmake make install 3 点セットを実行します。

しかし、実際には問題があります。

現在、依存ライブラリと git をインストールするのは簡単です。その後バージョンのロールバックに失敗し、いろいろ探してみると開発者によってdevタグが削除されてしまったようです。その後、9 月 23 日にダウンロードされた 3.8 バージョンでは多くのエラーが報告されました。

バージョン 3.8 および 3.6 を使用したいくつかのバージョンの問題の一部を要約すると、すべて失敗しました (3.7 が機能しない場合は、他のバージョンを試してください)。

以前に発生した問題は次のとおりです。

1. cuda の問題:

CMake Error at CMakeLists.txt:255 (message):
  You must set CMAKE_CUDA_ARCHITECTURES to e.g.  'native', 'all-major', '70',
  etc.  More information at
  https://cmake.org/cmake/help/latest/prop_tgt/CUDA_ARCHITECTURES.html


-- Configuring incomplete, errors occurred!
See also "/home/mona/OnePose_Plus_Plus/submodules/colmap/build/CMakeFiles/CMakeOutput.log".

解決策は次のとおりです。

cmake .. -DCMAKE_CUDA_ARCHITECTURES=native
cmake .. -DCMAKE_CUDA_ARCHITECTURES=all
cmake .. -DCMAKE_CUDA_ARCHITECTURES=70

ただし、最初の 2 つは解決できない可能性があり、次の 70 はコマンド ライン入力が必要です。

nvidia-smi --query-gpu=compute_cap --format=csv

ほら、8.6 の場合は 86 と書き、6.1 の場合は 61 と書きますが、70 ではない可能性があります。

2. gcc g++ のバージョンでは不十分です。7.0 に変更します。

おおよそのエラー: 数値リテラル演算子 'operator""Q' が見つかりません

すっかり忘れていて、ネットで調べたら gcc と g++ のバージョンが足りなかったので確認したら 5.5 だったので、7.0 にアップグレードしました。

お問い合わせ:

gcc -v
g++ -v

3. 未定義の参照

未定義の参照がたくさんあるので、上記の記事を読んで、anaconda3 のフォルダー名を変更し、インストールが完了したら最終的に元に戻します。

 undefined reference to `TIFFReadEncodedStrip@LIBTIFF_4.0`
 undefined reference to `TIFFReadEXIFDirectory@LIBTIFF_4.0`
 undefined reference to `TIFFFieldReadCount@LIBTIFF_4.0`
 undefined reference to `TIFFSetTagExtender@LIBTIFF_4.0`
 undefined reference to `TIFFCurrentDirectory@LIBTIFF_4.0`
 undefined reference to `TIFFReadTile@LIBTIFF_4.0`
 undefined reference to `TIFFSetDirectory@LIBTIFF_4.0`
 undefined reference to `TIFFClientOpen@LIBTIFF_4.0`

ubuntu16 に Colmap をインストールする場合の問題と解決策_cudasetupargument 未定義の参照_WZJ&LSK のブログ - CSDN ブログ

4. 未定義の参照

上記と同様に、バージョン 3.6 をインストールする場合、100% を作成すると未定義の参照が発生します。

../libcolmap.a(misc.cc.o):在函数‘colmap::FileCopy(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, colmap::CopyType)’中:
misc.cc:(.text+0x57a):对‘boost::filesystem::detail::copy_file(boost::filesystem::path const&, boost::filesystem::path const&, boost::filesystem::copy_option, boost::system::error_code*)’未定义的引用
collect2: error: ld returned 1 exit status
src/exe/CMakeFiles/colmap_exe.dir/build.make:270: recipe for target 'src/exe/colmap' failed
make[2]: *** [src/exe/colmap] Error 1

その時点では別のファイルでしたが、変更は成功しませんでした。

Supongo que te gusta

Origin blog.csdn.net/weixin_43907136/article/details/132673653
Recomendado
Clasificación