代码之家  ›  专栏  ›  技术社区  ›  Lithicas

CMake错误“需要命令名”

  •  6
  • Lithicas  · 技术社区  · 7 年前

    我试图在CLion中导入CMake项目,但出现以下错误:

    CMakeLists的CMake错误。txt:35:解析错误。需要命令 name,得到了带有文本“add_subdirectory”的无引号参数。

    指定的行如下:

    #​ ​Add​ ​terminal​ ​sub​ ​directory
    add_subdirectory​(​terminal)
    
    target_link_libraries(${Screen}​ ​Terminal)
    

    整个CMake文件:

    # Projektets namn
    project(Screen)
    
    # Minsta tillåtna cmake version
    cmake_minimum_required(VERSION 3.2)
    
    # Kompilera med c++ 11 stöd
    set (CMAKE_CXX_STANDARD 11)
    
    # Lägg till katalogen med våra bibliotek till INCLUDE path
    # (i dessa kataloger kommer kompilatorn att leta efter de
    # header filer som inkluderas i koden)
    INCLUDE_DIRECTORIES($ENV{TOOLS_INCLUDE})
    
    # Ta med alla källkodsfiler i den aktuella katalogen och
    # lägger dem i listan SRC_LIST.
    aux_source_directory(. SRC_LIST)
    
    # Om Debug mode
    if (CMAKE_BUILD_TYPE STREQUAL "Debug")
        # Skriv ut meddelandet Debug mode samt sätt kompilator
        # direktivet DEBUG
        message("Debug mode")
        add_definitions(-DDEBUG)
    else(CMAKE_BUILD_TYPE STREQUAL "Debug")
        # Skriv ut meddelandet Release mode.
        message("Release mode")
    endif (CMAKE_BUILD_TYPE STREQUAL "Debug")
    
    # Skapa en exekverbar fil med källkodsfilerna i från
    # SRC_LIST. Första parametern är namnet på målet (Target)
    add_executable(${PROJECT_NAME} ${SRC_LIST})
    
    #​ ​Add​ ​terminal​ ​sub​ ​directory
    add_subdirectory​(​terminal)
    target_link_libraries(${{PROJECT_NAME}​ ​Terminal)
    

    知道我做错了什么吗?

    1 回复  |  直到 7 年前
        1
  •  11
  •   Antwane    7 年前

    您使用的命令是:

    add_subdirectory​(​terminal)
    

    但是 ( char前面跟一个空字符。这是不可见的,但可以使用十六进制编辑器或任何突出显示此类错误的文本编辑器(我使用Sublime text检测到)进行调试。

    只需将此行替换为:

    add_subdirectory(terminal)
    

    注意:请参阅HxD(十六进制编辑器)中两行之间的差异:

    enter image description here