过程
在使用cmake对openMVG进行编译时遇到与Qt5相关问题,报错信息如下:
CMake Error at /mnt/e/Anaconda/Library/lib/cmake/Qt5Svg/Qt5Svg_QSvgIconPlugin.cmake:2 (add_library):
add_library cannot create imported target "Qt5::QSvgIconPlugin" because
another target with the same name already exists.
Call Stack (most recent call first):
/mnt/e/Anaconda/Library/lib/cmake/Qt5Svg/Qt5SvgConfig.cmake:241 (include)
/mnt/e/Anaconda/Library/lib/cmake/Qt5/Qt5Config.cmake:28 (find_package)
software/CMakeLists.txt:14 (find_package)
原因
1、Qt5重复安装,在anaconda中和系统中都有安装Qt5
系统中Qt5路径:/usr/lib/x86_64-linux-gnu/cmaker
anaconda中Qt5安装路径:root/to/Anaconda/Library/lib/cmake(在你安装anaconda的位置)
两个包删除其中一个,一般来说用conda的话删除系统中的包,或者反过来
2、Qt5文件损坏
查了一天没解决的问题,cmake查询Qt5的地址改变不了,突发奇想想着把文件替换一下,即把系统重的Qt5Svg文件夹替换掉anaconda中的Qt5Svg文件夹。成功编译。