- 已在ubuntu18.04上成功安装ceres1.14.0和colmap
- ceres1.14.0基本没错。找tag里的1.14.0压缩包,因为复制的git链接都指定了下载最新版本
- colmap 安装cmakelist 添加set(CMAKE_CUDA_ARCHITECTURES "70"),若报anaconda的错,解决是把anaconda3文件名重命名,编译安装完再改回来
- 报错PyramidCU::GenerateFeatureList: no kernel image is available for execution on the device 可能是GPU和CUDA版本不匹配,也就是硬件的问题,其中,PyTorch 1.3版本,提高了对CUDA设备的Compute Capability等级的最低要求**(计算力3.5及3.5以下的都不支持了)**,导致在较为老旧的GPU型号上,部分计算操作无法执行。20.04cuda11.1没有这个问题
- 已在ubuntu20.04上成功安装ceres1.14.0和colmap
- ceres1.14.0没报错
- colmap 安装cmakelist 添加set(CMAKE_CUDA_ARCHITECTURES "86"),报了FPIC的错,改成75后成功
- 若报anaconda的错,解决是把anaconda3文件名重命名,编译安装完再改回来
- ubuntu16.04上没能成功
- CMake Error at CMakeLists.txt:196 (find_package): Could not find a configuration file for package "Eigen3" that is compatible with requested version "3.3". The following configuration files were considered but not accepted: /usr/lib/cmake/eigen3/Eigen3Config.cmake, version: unknown
- 升级eigen3版本ubuntu系统简单的eigen版本切换_npcdna的博客-CSDN博客
- 将eigen3.3.7的Eigen的软连接也创建到/usr/include 目录下和 /usr/include/eigen3.3.7目录下
- sudo ln -s /usr/include/eigen3/include/eigen3/Eigen /usr/include/Eigen
- sudo ln -s /usr/include/eigen3/include/eigen3/Eigen /usr/include/eigen3
- 升级eigen3版本报错
- CMake Error at CMakeLists.txt:8 (message): In-source builds not allowed. Please make a new directory (called a build directory) and run CMake from there. You may need to remove CMakeCache.txt.
- 删除CMakeCache.txt,重新cd build
- CMake Warning: No source or binary directory provided. Both will be assumed to be the same as the current working directory, but note that this warning will become a fatal error in future CMake releases.
- CMake似乎认为构建目录就是源目录。您需要在build目录中运行CMake,并将源目录作为命令行参数。
- 例如,如果源目录是eigen3.3.7,而构建目录是build
- cd ~/eigen3.3.7/build
- cmake ~/eigen3.3.7
- CMake Error at CMakeLists.txt:8 (message): In-source builds not allowed. Please make a new directory (called a build directory) and run CMake from there. You may need to remove CMakeCache.txt.
- 1.4.0 eigen报错
- - No preference for use of exported Eigen CMake configuration set, and no hints for include directory provided. Defaulting to preferring an installed/exported Eigen CMake configuration if available.
- -- Found installed version of Eigen: /home/wwf/eigen-3.3.7/build
- CMake Error at cmake/FindEigen.cmake:89 (message):
- Failed to find Eigen - Could not find file:
- /home/include/eigen3/Eigen/src/Core/util/Macros.h containing version
- information in Eigen install located at: /home/include/eigen3.
- Call Stack (most recent call first):
- cmake/FindEigen.cmake:219 (eigen_report_not_found)
- CMakeLists.txt:213 (find_package)
- cmakelist 78行添加set(Eigen3_DIR "/usr/include/eigen3") #make显示蓝色字体即没什么问题
- -- Found installed version of Eigen: /usr/lib/cmake/eigen3
- -- Found required Ceres dependency: Eigen version 3.3.7 in /usr/include/eigen3
- - No preference for use of exported Eigen CMake configuration set, and no hints for include directory provided. Defaulting to preferring an installed/exported Eigen CMake configuration if available.
- Cmake报错
- In file included from /usr/include/c++/5/chrono:35:0, from /home/wwf/glog/build/glog/logging.h:40, from /home/wwf/glog/src/utilities.h:59, from /home/wwf/glog/src/utilities_unittest.cc:31:/usr/include/c++/5/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 sta ndard. This support must be enabled with the -std=c++11 or -std=gnu++11 compiler options. #error This file requires compiler and library support
- 解决
- 将编译器默认版本改为7即可,在终端输入下面代码:
- sudo add-apt-repository ppa:ubuntu-toolchain-r/test #可以配不上,能下载gcc ,g++就行
- sudo apt-get update
- sudo apt-get install gcc-7
- sudo apt-get install g++-7
- 配置:将gcc7,g++7作为默认选项:
- sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 100
- sudo update-alternatives --config gcc
- sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 100
- sudo update-alternatives --config g++
- 解决
- 算力问题
- nvcc fatal : Unsupported gpu architecture 'compute_80'
- internal/ceres/CMakeFiles/ceres_cuda_kernels.dir/build.make:75: recipe for target 'internal/ceres/CMakeFiles/ceres_cuda_kernels.dir/cuda_kernels.cu.cc.o' failed
- make[2]: *** [internal/ceres/CMakeFiles/ceres_cuda_kernels.dir/cuda_kernels.cu.cc.o] Error 1
- CMakeFiles/Makefile2:3240: recipe for target 'internal/ceres/CMakeFiles/ceres_cuda_kernels.dir/all' failed
- make[1]: *** [internal/ceres/CMakeFiles/ceres_cuda_kernels.dir/all] Error 2
- Makefile:145: recipe for target 'all' failed
- 解决:cmakelist.txt文件的 set(CMAKE_CUDA_ARCHITECTURES "50;60;70;80")删去80
- set(CMAKE_CUDA_ARCHITECTURES "50;60;70")
- colmap安装
- CMake Error at CMakeLists.txt:255 (message):You must set CMAKE_CUDA_ARCHITECTURES to e.g. 'native', 'all-major', '70',
- cmakelist.txt文件中,添加 set(CMAKE_CUDA_ARCHITECTURES "70")#或者是 'native'
- can not found LZ4
- cd lz4
- make
- sudo make install
- 不建build文件夹、不需要cmake
- 找不到eigen3
- cmakelist.txt添加include_directories("/usr/include/eigen3")#
- 注释掉find_package(Eigen3 REQUIRED)
- In file included from /usr/include/c++/5/chrono:35:0, from /home/wwf/glog/build/glog/logging.h:40, from /home/wwf/glog/src/utilities.h:59, from /home/wwf/glog/src/utilities_unittest.cc:31:/usr/include/c++/5/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 sta ndard. This support must be enabled with the -std=c++11 or -std=gnu++11 compiler options. #error This file requires compiler and library support
Ceres与colmap安装
于 2023-03-11 16:37:02 首次发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)