cmake_minimum_required(VERSION 3.30) project(study_c__) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) #add_executable(study_c__ main.cpp) # MinGW 中文编码唯一正确写法 #set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -finput-charsetutf-8 -fexec-charsetutf-8) # 设置输出目录保持你原来的结构只适配 C set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/.archive) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/.library) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/.runtime) # 关键修改遍历 C 源文件 # 匹配当前目录 所有子目录下的 cpp/cxx/cc 文件 file(GLOB_RECURSE files *.cpp *.cxx *.cc *.CPP *.CXX *.CC) # 为每个文件生成独立可执行文件 foreach (file ${files}) # 提取文件名不含后缀 get_filename_component(exe ${file} NAME_WE) add_executable(${exe} ${file}) message(STATUS 编译 → ${exe} (${file})) endforeach ()一定要选择正确的编译对象。 才可以生成对用的exe存放于runtime里面