无root权限编译安装Eigen3可以参考这篇博客:Eigen3安装,注意因为是无root权限,所以按照链接里的第二个安装方法安装,并且最后一个sudo make install 要去掉 sudo,直接使用make install
我是在安装colmap的时候用到Eigen3这个库的,但是按上面的方法安装完Eigen3之后还是报错Could NOT find Eigen3,追溯报错源头之后发现:
由于没有root权限,我把Eigen3放在了自己的文件夹下面,而不是eigen3的cmake中的FindEigen3.cmake默认的路径,所以一直报错Could NOT find Eigen3
既然找到了原因,对症下药即可:
在eigen3的cmake中的FindEigen3.cmake中添加语句(大家修改之前记得保留原来的FindEigen3.cmake文件备份,主要防止改错了不知道怎么改回去)
set(EIGEN3_INCLUDE_DIR "你放置Eigen3的绝对路径/include/")
INCLUDE_DIRECTORIES ( "${EIGEN3_INCLUDE_DIR}" )
这样就行了,同时注意,如果你是像我一样在安装colmap或者其他库的时候报错Could NOT find Eigen3,那还需要将相应库的FindEigen3.cmake文件(比如colmap的在colmap下的cmake文件夹中)也这样修改。
如果你不知道你的库里FindEigen3.cmake文件在哪,用 find 命令找一下就行: