CMake 错误“需要一个命令名称”

Lit*_*cas 6 c++ cmake clion

我正在做一个涉及 CMake 的学校作业。

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

CMakeLists.txt:35 处的 CMake 错误:解析错误。需要一个命令名称,得到带有文本“add_subdirectory​”的不带引号的参数。

指定的行如下:

#? ?Add? ?terminal? ?sub? ?directory
add_subdirectory?(?terminal)

target_link_libraries(${Screen}? ?Terminal)
Run Code Online (Sandbox Code Playgroud)

整个 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)
Run Code Online (Sandbox Code Playgroud)

任何想法我在这里做错了什么?

Ant*_*ane 9

您使用的命令是:

add_subdirectory?(?terminal)
Run Code Online (Sandbox Code Playgroud)

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

只需将此行替换为:

add_subdirectory(terminal)
Run Code Online (Sandbox Code Playgroud)

注意:在十六进制编辑器 HxD 中查看 2 行之间的区别:

在此处输入图片说明