openMVG编译过程中cmake --build . --target install命令运行出错

openMVG编译过程cmake --build . --target install报错!

cmake --build . --target install命令运行出错

注:因为本文是在ubuntu18.04下出现的问题,所以也只涉及ubuntu18.04的openMVG安装

1.linux安装openMVG流程

在github上的官方安装流程如下:官方流程https://github.com/openMVG/openMVG/blob/master/BUILD.md.

(Compiling on Linux)此处只做搬运,更详细安装请进入原作者网址查看!
1.1 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

1.2 Checkout OpenMVG.

git clone --recursive https://github.com/openMVG/openMVG.git
mkdir openMVG_Build && cd openMVG_Build

1.3 Configure and build

cmake -DCMAKE_BUILD_TYPE=RELEASE ../openMVG/src/
cmake --build . --target install

Run tests using make or ctest (if requested in the CMake command line with -DOpenMVG_BUILD_TESTS=ON )

make test
ctest --output-on-failure -j

2.安装过程出现的问题及解决流程

不想听唠叨的直接跳到第三步

0.等到自己真正安装的时候才发现,只需要按照流程做到第1.3步的第二条命令就行了,甚至第1.3步的第二条命令不用跑到100%就可以。
进入正题
1.详细错误已经没办法再找到了,具体描述一下是运行第1.3步的第二条命令时运行到44%左右时报错,出现的问题是Eigen某个头文件相关的错误,此时我的Eigen版本为3.2.X(或者更低版本,记不清了);
2.一开始我以为是openMVG的问题,因为我事先已经成功装好了openMVS,所以我没有去怀疑Eigen的问题,几经尝试没有解决;
3.没有办法那就只能是Eigen的问题了,我接着在另一台同样配好openMVS虚拟机系统同样为ubuntu18.04)上进行openMVG安装尝试,结果是成功的;
openMVG编译过程中cmake --build . --target install命令运行出错

4.由于成功跑通时Eigen的版本是3.3.4,我想着是不是版本比较低,需要换一个更高的版本,我就再原来的环境里面下载了3.3.4和3.3.8两个版本,结果可能由于我安装的问题,这两个版本并没有很好的装上,搞得我的Eigen成了3.3.4、3.3.8和原来版本这几个版本的混合版,当然就不能用了;
5.我就寻找相关网页想着把Eigen给删掉重新装。因为本人是个小白,最简单的想法就是先卸掉再重新装,结果不仅没装好,还按照某篇不知名博客不小心删掉重要文件,导致运行第1.3步的第二条命令时直接报错,运行不成功,聋子又成了瞎子,没有办法找回少点的文件,cmake功能也因此出现问题,只能重装系统;
6.重装系统之后,发现问题,解决问题,直接搜切换Eigen版本的方法,找到了方法,
————————————————
原文链接https://blog.csdn.net/qq_42668426/article/details/111993607.
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_42668426/article/details/111993607
————————————————

7.参考此博主的方法,结合Eigen下载和编译的方法即可完成Eigen版本的切换,
Eigen下载和编译的方法如下:

//默认装的是3.2的版本,切换的是3.3的版本
git clone https://gitlab.com/libeigen/eigen.git --branch 3.3
mkdir eigen_build && cd eigen_build
cmake . ../eigen
make && sudo make install
cd ..

8.注意,完成到3.3的版本切换之后,就可成功进行,第1.3步的第二条命令的编译,不过也只是运行到63%左右,不用紧张,后面的是生成一个什么target的,不知道对什么有影响,我只是接着使用

sudo make install

运行没报错!
我就结束了整个的编译安装过程。

3.总结

不想听唠叨的到这里

0.总之,就是Eigen的版本不对,openMVSopenMVG需求的Eigen版本不同,需要进行切换,(移动原先的、新建文件夹、移进去、新版本编译安装)版本切换到不是太新3.3就可解决问题。
版本切换参考博客:
原文链接https://blog.csdn.net/qq_42668426/article/details/111993607.
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
1.之后再进行编译安装,顺利通过!

上一篇:线性代数库调研


下一篇:Eigen Network出席2021区块链影响力峰会,探索L2上隐私计算发展未来