ubuntu16.04下编译openMVS–之我的经历
点击左侧参考官方编译文档
官方文档如下:
#Prepare and empty machine for building:
sudo apt-get update -qq && sudo apt-get install -qq
sudo apt-get -y install build-essential git mercurial cmake libpng-dev libjpeg-dev libtiff-dev libglu1-mesa-dev
main_path=`pwd`
#Eigen (Required)
hg clone https://bitbucket.org/eigen/eigen#3.2
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 (Required)
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_DIR="$main_path/vcglib"
#If you want to use OpenMVS as shared library, add to the CMake command:
-DBUILD_SHARED_LIBS=ON
#Install OpenMVS library (optional):
make -j2 && sudo make install
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
在最后编译openmvs时,
#OpenMVS
git clone https://github.com/cdcseacave/openMVS.git openMVS
mkdir openMVS_build && cd openMVS_build
cmake . ../openMVS -DCMAKE_BUILD_TYPE=Release -DVCG_DIR="$main_path/vcglib
执行到这一步
cmake . ../openMVS -DCMAKE_BUILD_TYPE=Release -DVCG_DIR="$main_path/vcglib
显示找不到VCG库的路径,让我指定VCG_ROOT的环境变量名,后来感觉可能是$main_path变量没有指定对,更改后还是不行,再然后还通过添加环境变量的方式
sudo gedit ~/.bashrc
接着输入用户密码
前面的步骤会打开.bashrc文件,在其末尾添加:
export VCG_ROOT=xxx/vcglib:$VCG_ROOT
保存后,使其立即生效,在终端执行下面的命令
source ~/.bashrc
1
2
3
4
5
6
然后关闭了所有终端,重新进入编译目录下,再次编译时又把$main_path 直接替换为vcglib的路径目录,之后执行就没有问题了
对~!没有问题了,我也不知道是我哪一步对了
摊手 ┑( ̄Д  ̄)┍
记录这个奇妙的时刻,于是作者写了这篇随笔。
当日更新:
后来我又编译了一遍,同时把环境变量给删了,依然采用$main_path 直接替换为vcglib的路径目录的方法,没有问题~!
OK,到此为止~!
感谢各位大佬看我直播讲故事~
ヾ( ̄▽ ̄)Bye~Bye~
————————————————