三国纷争
对于CMake,通常建议执行“源外”构建。CMakeLists.txt在您的项目的根目录中创建您的。然后从您的项目的根目录:mkdir Releasecd Releasecmake -DCMAKE_BUILD_TYPE=Release ..make并且Debug(再次从项目的根源开始):mkdir Debugcd Debugcmake -DCMAKE_BUILD_TYPE=Debug ..makeRelease/ Debug将为您的编译器添加适当的标志。也有RelWithDebInfo和MinSizeRel构建配置。您可以通过指定可以在其中添加和变量的工具链文件来修改/添加到标志,例如:CMAKE_C_FLAGS_DEBUGCMAKE_C_FLAGS_RELEASEset(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Wall")set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -Wall")至于你的第三个问题,我不确定你到底在问什么。CMake应该自动检测并使用适合于您的不同源文件的编译器。