CMakeLists.txt:251行出现错误(提示):无法确定正则表达式后端的源文件。

4

我正在尝试使用 cmake 从源代码构建项目,主要使用C/C++和Python编写。

源代码链接:https://github.com/rapidsai/cuml

在 "cpp" 子文件夹中成功运行以下命令:

$ cmake . 

我在那里运行了“make”并收到了错误消息:

CMake Error at CMakeLists.txt:251 (message):
  Failed to determine the source files for the regular expression backend

1
你的CMake版本可能太旧或太新。 - Alexey Larionov
@AlexeyLarionov 项目的 CMakeLists.txt 文件中有这个条目:cmake_minimum_required(VERSION 3.14...3.17 FATAL_ERROR),因此如果您是正确的,报告的错误将会不同。 - Marek R
我会尝试这个:https://github.com/google/benchmark/issues/351#issuecomment-285991773 -DRUN_HAVE_STD_REGEX=0 -DRUN_HAVE_POSIX_REGEX=0 - Marek R
3
错误可能是由构建Google基准引起的。如果是这样,请在错误消息之前显示一行-- Performing Test HAVE_STD_REGEX。请展示从该行到错误消息的所有输出。您可以在此问题中找到输出示例。 - Tsyvarev
  1. 你使用的 cuML 版本是哪个?
  2. 请运行 print_env.sh 并发布输出结果。
- saloni
1个回答

4

这是由于gtest/benchmark中引入的问题导致的。

如果您使用C++11或更高版本,将-DHAVE_STD_REGEX=ON -DRUN_HAVE_STD_REGEX=1添加到CMake参数中可能会解决此问题。

ExternalProject_Add(${name}
    GIT_REPOSITORY ${location}
    GIT_TAG HEAD
    INSTALL_DIR ${CMAKE_BINARY_DIR}
    ${OPENMIND_UPDATE_EXTERNAL_DEPS_CMD_PARAM}

    CMAKE_ARGS
            -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>
            -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
            -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
            -DGIT_EXECUTABLE=${GIT_EXECUTABLE}

            -DHAVE_STD_REGEX=ON
            -DRUN_HAVE_STD_REGEX=1
    )

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接