项目场景:编译opencv3.4.1
平台及环境:
ubuntu18.04 opencv3.4.1
问题描述
配置环境过程中,需要更换opencv版本,我系统中已经存在许多opencv版本了,编译opencv3.4.1时报错:
/usr/include/crt/host_config.h:121:2: error: #error -- unsupported GNU version! gcc versions later than 6 are not supported!error -- unsupported GNU version! gcc versions later than 6 are not supported!
CMake Error at cuda_compile_generated_gpu_mat.cu.o.cmake:206 (message):Errorgenerating/home/***/opencv-.4.1/build/modules/core/CMakeFiles/cuda_compile.dir/src/cuda/./cuda_compile_generated_gpu_mat.cu.o
原因分析:
gcc版本太高,和cuda不匹配
解决方案:
降低gcc与g++的版本
具体步骤:
整体过程以添加软链接为主,gcc文件都在/usr/bin/中,添加软链接来更换版本,g++也是一样,软链接相当于windows的快捷方式。
查看版本
ls /usr/bin/gcc* -l
ls /usr/bin/g++* -l
//下载
sudo apt-get install gcc-5
# 删除原先的软链接
sudo rm /usr/bin/gcc
# 新建gcc-5到gcc的软链接
sudo ln -s /usr/bin/gcc-5 /usr/bin/gcc
# 删除原先的软链接
sudo rm /usr/bin/g++
# 新建gcc-5到gcc的软链接
sudo ln -s /usr/bin/g++-5 /usr/bin/g++
查看版本
ls /usr/bin/gcc* -l
ls /usr/bin/g++* -l
以gcc为例,更换成功: