无法在 Ubuntu 18.04 上安装 opencv 2.4.9,出现 CXXCompiler 错误

无法在 Ubuntu 18.04 上安装 opencv 2.4.9,出现 CXXCompiler 错误

我正在尝试在 Ubuntu 18 上安装 opencv 2.4.9 以支持较旧的软件。从 sourceforge 链接下载版本后,我创建了一个 build 文件夹并运行以下 cmake 命令。

cmake -D WITH_TBB=OFF -D WITH_V4L=OFF -D INSTALL_C_EXAMPLES=OFF -D INSTALL_PYTHON_EXAMPLES=OFF -D BUILD_EXAMPLES=OFF -D WITH_QT=OFF -D WITH_OPENGL=OFF -D  WITH_FFMPEG=OFF -D WITH_1394=OFF -D WITH_LIBV4L=OFF ..

我收到以下错误:

CMake Error at cmake/OpenCVDetectCXXCompiler.cmake:85 (list):
  list GET given empty list
Call Stack (most recent call first):
  CMakeLists.txt:77 (include)


CMake Error at cmake/OpenCVDetectCXXCompiler.cmake:86 (list):
  list GET given empty list
Call Stack (most recent call first):
  CMakeLists.txt:77 (include)


CMake Error at cmake/OpenCVDetectCXXCompiler.cmake:89 (math):
  math cannot parse the expression: "*100 + ": syntax error, unexpected
  exp_TIMES, expecting exp_OPENPARENT or exp_NUMBER (1)
Call Stack (most recent call first):
  CMakeLists.txt:77 (include)

我怀疑这可能与旧版本的 cmake 有关,但我有 cmake 版本 3.1.1。

答案1

这似乎是一个已知问题,与格式变化有关g++ -dumpversion:例如参见OpenCV SuperBuild 在 gcc 7+ 上失败。根据快速测试,似乎可以通过编辑文件OpenCVDetectCXXCompiler.cmake、更改-dumpversion为 来解决-dumpfullversion。例如,如果您cmake从树外build子目录运行:

sed -i.bak 's/dumpversion/dumpfullversion/' ../cmake/OpenCVDetectCXXCompiler.cmake

或者,安装旧版 g++ 并按照此处的建议cmake通过标志使用它-DCMAKE_CXX_COMPILER配置错误“无法确定 g++ 版本”

相关内容