擅长:python、mysql、java
<p>您可能已经将额外的模块复制到了主模块目录中,然后使用-D OPENCV_extra_modules_PATH=/opt/OpenCV3.4/modules来定位此模块。但是模块定位器查看目录中的所有模块;此外,它还要求每个模块都是唯一的,并且只能看到一次。由于默认情况下,当您指定此cmake选项时,cmake会查看主/module目录中的所有模块,然后再次查看EXTRA_modules路径中的所有模块,因此它会感到困惑,认为它会看到完全相同的模块两次,然后会呕吐</p>
<p>解决方案1:如果手动将所有额外模块包含到默认系统模块文件中,则不要在cmake指令中指定-D OPENCV_EXTRA_MODULES_PATH=/opt/OpenCV3.4/MODULES。它只会检查这个目录一次,并且会很高兴地编译所有目录</p>
<p>解决方案2:将额外模块保留在各自单独的目录中,并指定cmake选项-D OPENCV_extra_modules_PATH=/my_extra_modules_目录,该目录与主/modules目录分开</p>