【问题标题】:cmake build error on build process [closed]构建过程中的cmake构建错误[关闭]
【发布时间】:2017-02-10 00:36:21
【问题描述】:

我在使用 cmake 构建过程时收到此错误,它告诉我

CMake Error at CMakeLists.txt:223:
  Parse error.  Function missing ending ")".  End of file reached.

这是我的代码:

    if( make_release_only)

 endif()

# I don't plan on debugging this, so make it a release build.
if( NOT CMAKE_BUILD_TYPE MATCHES "Release" )
    set( CMAKE_BUILD_TYPE "RelWithDebInfo" )
endif()

if( ZD_CMAKE_COMPILER_IS_GNUCXX_COMPATIBLE )
    set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra" )
    endif()

    if( NOT PROFILE )
        set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fomit-frame-pointer" )
    endif()
    if check_cxx_compiler_flag( -Wno-array-bounds HAVE_NO_ARRAY_BOUNDS )

    endif()
    if ( HAVE_NO_ARRAY_BOUNDS )

    endif()
    if ( set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-array-bounds" )
    endif()

【问题讨论】:

  • 简单的错字...倒数第二行的两个左括号。
  • 以后要查找此类错误,您可以注释代码从最后到您认为错误的地方。如果错误仍然存​​在,那么您还没有将其注释掉。

标签: cmake


【解决方案1】:
if ( set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-array-bounds" )

这一行有两个左括号“(”,但只有一个右括号“)”。此外,您不能在 set 命令上执行 if,因此该行没有多大意义。也许你的意思是没有if 那里?

if ( HAVE_NO_ARRAY_BOUNDS )
    set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-array-bounds" )
endif()

【讨论】:

  • 好吧,这是他们解决此问题的另一种方法,我很抱歉,我在过去 2 周内刚刚在 cmake 中学到了很多东西,我只是被卡住了,我很抱歉,这有时很难。
  • 你有什么理由不能用这种方式解决它吗?
  • 感谢这帮助了我。
  • 我知道我说的和新编辑的问题一样,但是你们都把它搁置了,所以我不知道是否有人会看到新的编辑,但我的另一个问题是。无法启动程序找不到指定的文件我正在构建源端口测试,但我遇到了这些问题。我在调试 ALL_BUILD 时收到此错误,它包含项目的源文件和资源文件,但它仍然不允许我调试项目。
猜你喜欢
  • 2018-12-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-01
相关资源
最近更新 更多