为什么CMake Build文件无法正确生成

Sup*_*ell 1 c++ cmake cmake-gui

我正在尝试一个简单的测试来查看 CMake 是否在我的 Windows 系统上正常工作。我不断收到错误消息。这是有错误的命令。

cmake .
-- Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.19044.
-- Configuring done
CMake Error at CMakeLists.txt:5 (add_executable):
No SOURCES given to target: main.cpp


CMake Generate step failed.  Build files cannot be regenerated correctly.
Run Code Online (Sandbox Code Playgroud)

名为 main.cpp 的文件的代码

#include <iostream>

int main()
{

std::cout << "hello world\n" << "this is a test" <<std::endl;

}
Run Code Online (Sandbox Code Playgroud)

和我的 CMake 文件

cmake_minimum_required(VERSION 3.10)

project(test)

add_executable(main.cpp)
Run Code Online (Sandbox Code Playgroud)

我之前在 Linux 中使用过 CMake,所以不知道为什么会失败。我使用 Microsoft 包管理器来安装它。我正在使用命令行,我尝试了 GUI,但也失败了。我还多次删除了 CMake 文件和缓存。我在网上找不到任何东西。

小智 9

由于我的声誉太低,无法添加评论,所以我会写一个答案。在 CMakeLists.txt 文件的最后一行

add_executable(main.cpp)
Run Code Online (Sandbox Code Playgroud)

您缺少可执行文件的名称

add_executable(name_exe main.cpp)
Run Code Online (Sandbox Code Playgroud)

CMake 在错误消息中告诉您这一点。CMake 尝试创建一个没有源文件的目标 main.cpp,因为 CMake 在命令 add_executable() 的第一个位置建议了可执行文件的名称。