# OpenMVG/OpenMVS Installation Guide
###### tags: `OpenMVG` `OpenMVS` `point clouds`
Create Date: August 31, 2022
Latest Update: August 31, 2022
Tags: OpenMVG, OpenMVS, Ubuntu
<aside>
⚠️ If you’ve already complete the installation.
Below’s link can lead you to the “User Manual” page.
[OpenMVG/OpenMVS User Manual](https://www.notion.so/OpenMVG-OpenMVS-User-Manual-7ca605fe3fde426488ec74ed36f47114?pvs=21)
</aside>
# OpenMVG安裝
Required tools:
- CMake
```
sudo apt-get install cmake
```
- Git
```
sudo apt-get install git
```
- GCC >= 4.8.1
```
sudo apt-get install gcc
```
- Clang >= 3.3
```
sudo apt-get install clang
```
- make
```
sudo apt-get install make
```
---
## Getting the project
Getting the sources (and the submodules):
```
git clone --recursive https://github.com/openMVG/openMVG.git
```
---
## Compiling on Linux
- Install the required external libraries.
```
sudo apt-get install libpng-dev libjpeg-dev libtiff-dev libxxf86vm1 libxxf86vm-dev libxi-dev libxrandr-dev
```
- If you want see the view graph svg logs, install Graphviz.
```
sudo apt-get install graphviz
```
- Checkout OpenMVG.
```
git clone --recursive https://github.com/openMVG/openMVG.git
mkdir openMVG_Build && cd openMVG_Build
```
- Configure and build
```
cmake -DCMAKE_BUILD_TYPE=RELEASE ../openMVG/src/
cmake --build . --target install
```
```
sudo make install
cd ..
```
[openMVG/BUILD.md at develop · openMVG/openMVG](https://github.com/openMVG/openMVG/blob/develop/BUILD.md#linux)
# OpenMVS安裝
- Prepare and empty machine for building:
```
sudo apt-get update -qq && sudo apt-get install -qq
sudo apt-get -y install git cmake libpng-dev libjpeg-dev libtiff-dev libglu1-mesa-dev
main_path=`pwd`
```
- Eigen (Required)
```
git clone https://gitlab.com/libeigen/eigen.git --branch 3.4
mkdir eigen_build && cd eigen_build
cmake . ../eigen
make && sudo make install
cd ..
```
- Boost (Required)
```
sudo apt-get -y install libboost-iostreams-dev libboost-program-options-dev libboost-system-dev libboost-serialization-dev
```
- OpenCV (Required)
```
sudo apt-get -y install libopencv-dev
```
- CGAL (Required)
```
sudo apt-get -y install libcgal-dev libcgal-qt5-dev
```
- VCGLib (Required)
```
git clone https://github.com/cdcseacave/VCG.git vcglib
```
- Ceres (Optional)
```
sudo apt-get -y install libatlas-base-dev libsuitesparse-dev
git clone https://ceres-solver.googlesource.com/ceres-solver ceres-solver
mkdir ceres_build && cd ceres_build
cmake . ../ceres-solver/ -DMINIGLOG=ON -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF
make -j2 && sudo make install
cd ..
```
- GLFW3 (Optional)
```
sudo apt-get -y install freeglut3-dev libglew-dev libglfw3-dev
```
- OpenMVS
```
git clone https://github.com/cdcseacave/openMVS.git openMVS
mkdir openMVS_build && cd openMVS_build
cmake . ../openMVS -DCMAKE_BUILD_TYPE=Release -DVCG_ROOT="$main_path/vcglib"
```
- Install OpenMVS library (optional):
```
make -j2 && sudo make install
```
## Error
更改cuda_sparse_matrix.cc第116和128為CUSPARSE_MV_ALG_DEFAULT,之後按儲存再run一次就可以了

[Building · cdcseacave/openMVS Wiki](https://github.com/cdcseacave/openMVS/wiki/Building)