cmake使用了source_group但是VS打开工程时结构没有变化
时间: 2023-12-05 21:03:51 浏览: 26
在使用`source_group`分组后,如果在Visual Studio中打开项目时没有看到分组的效果,可以尝试以下方法:
1. 点击Visual Studio中的“刷新”按钮,这样Visual Studio会重新加载项目文件,可能会显示分组效果。
2. 确保你在`add_library`或`add_executable`中使用了正确的`TARGET`名称,例如:
```cmake
add_library(MyLibrary STATIC
src/foo.cpp
src/bar.cpp
inc/foo.h
inc/bar.h
)
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES
src/foo.cpp
src/bar.cpp
inc/foo.h
inc/bar.h
)
```
在这个示例中,我们在`source_group`中使用了`TREE`参数,这样可以递归地查找所有文件并进行分组。如果你不确定使用了正确的`TARGET`名称或参数,可以检查生成的Visual Studio项目文件,查看分组是否正确。
3. 确保你在`project`命令中指定了正确的`VERSION`和`LANGUAGES`,例如:
```cmake
project(MyProject VERSION 1.0 LANGUAGES CXX)
```
在这个示例中,我们指定了C++语言,这样CMake会生成Visual Studio项目文件时使用正确的语言版本,并且可能会显示正确的分组效果。
如果以上方法都不起作用,你可以尝试重新生成Visual Studio项目文件,方法是删除项目目录下的`CMakeCache.txt`和`CMakeFiles`目录,然后重新运行CMake生成项目文件。