Visual Studio 2022下CMake 3.28配置CTest报错:缺少配置
解决CTest "Test not available without configuration" 错误
问题原因
你使用的Visual Studio 2022是CMake的多配置生成器,它会为Debug、Release等不同配置单独存放构建产物。CTest无法自动确定要运行哪个配置的测试程序,必须显式指定配置参数。
修复命令
将执行命令修改为明确指定构建和测试的配置(以Debug为例,可替换为Release):
cmake -S . -B build cd build cmake --build . --config Debug ctest -C Debug --rerun-failed --output-on-failure
额外说明
- 多配置生成器下,
cmake --build .若不指定--config,默认会构建所有配置,但CTest仍需明确配置才能找到对应路径的测试可执行文件。 - 单配置生成器(如Makefile)无需此参数,因为产物只有一套。
你的CMakeLists.txt配置本身无问题,只需在CTest运行时添加-C <配置名>参数即可。
内容的提问来源于stack exchange,提问作者Mat
相关产品推荐
相关产品推荐

