如何通过CMakeLists.txt构建名称具有特殊字符的cpp文件

如何通过CMakeLists.txt构建名称具有特殊字符的cpp文件,cmake,g++,mingw,Cmake,G++,Mingw,我正在学习CMake。当我尝试构建一个名称具有特殊字符(例如“[155]test_file.cpp”)的cpp文件时,我发现了一个问题。编译器找不到此文件。如何通过修改CmakeList而不是重命名该文件来解决此问题 我正在window10 PC上测试,编译器是mingw 错误信息 g++.exe:错误:E:\test[155]test_file.cpp:没有这样的文件或目录 g++.exe:致命错误:没有输入文件 CMakeLists.txt 根据该输出,在生成项目时,文件名和源目录之间的斜杠

我正在学习CMake。当我尝试构建一个名称具有特殊字符(例如“[155]test_file.cpp”)的cpp文件时,我发现了一个问题。编译器找不到此文件。如何通过修改CmakeList而不是重命名该文件来解决此问题

我正在window10 PC上测试,编译器是mingw

错误信息 g++.exe:错误:E:\test[155]test_file.cpp:没有这样的文件或目录
g++.exe:致命错误:没有输入文件

CMakeLists.txt
根据该输出,在生成项目时,文件名和源目录之间的斜杠似乎丢失了。出于好奇:为什么要指定绝对路径?似乎
CMAKE\u CURRENT\u SOURCE\u DIR
CMAKE\u SOURCE\u DIR
在这里是相同的,这将允许您使用相对路径。使用
CMAKE\u SOURCE\u DIR
通常不是一个好主意,因为如果您决定使用
add\u子目录
添加包含此
CMakeLists.txt
文件的目录,这可能会中断项目。是的,它丢失了。我认为这似乎与cmake的括号语法有关。感谢您的提醒,这只是一个测试用例。根据该输出,在生成项目时,文件名和源目录之间的斜杠似乎丢失了。出于好奇:为什么要指定绝对路径?似乎
CMAKE\u CURRENT\u SOURCE\u DIR
CMAKE\u SOURCE\u DIR
在这里是相同的,这将允许您使用相对路径。使用
CMAKE\u SOURCE\u DIR
通常不是一个好主意,因为如果您决定使用
add\u子目录
添加包含此
CMakeLists.txt
文件的目录,这可能会中断项目。是的,它丢失了。我认为这似乎与cmake的括号语法有关。谢谢你的提醒,这只是一个测试用例。
cmake_minimum_required(VERSION 3.17)
project(TEST_ LANGUAGES CXX)
add_executable(test_ "${CMAKE_SOURCE_DIR}/[155]test_file.cpp")