有没有办法在 CLion 中处理多个项目?
Is there a way to work on multiple projects in CLion?
我正在寻找一种在 CLion 中并行处理多个项目的方法 IDE。
现在我一次只能处理 window 中的每个项目,但我正在寻找类似于 Eclipse IDE 的解决方案(见下文)- 能够看到我的不同项目的目录在侧边栏上,然后选择我想要的那个,自己编译等等。
有办法吗?
没有。 CLion 要么:
- 打开一个新的 window 包含您要处理的其他项目
- 关闭您当前的项目并在当前window
中打开新项目
正如您在 documentation 中看到的那样。我认为这在他们的设计中是需要的;可能是为了保持 CLion 的快速和反应...
是:CLion 不允许您从菜单打开多个项目,因为它使用 CMake 系统,基于脚本。
但是,CMake 非常有能力包含多个项目,CLion 将正确解析您的 CMake 文件并在项目资源管理器中显示所有相关目录。
例子
要做到这一点,就像在 Visual Studio 中一样,您需要一个父“解决方案”和一个或多个子“项目”。
这是一个简单的 CMake 示例,其中“my_solution”引用两个子项目,“my_application”和“my_library”。在这里,我的三个文件夹排列:
xxx/my_solution/CMakeLists.txt
xxx/my_application/CMakeLists.txt
xxx/my_library/CMakeLists.txt
而 xxx/my_solution/CMakeLists.txt
只是读作:
cmake_minimum_required(VERSION 3.7)
project(my_solution)
add_subdirectory("${PROJECT_SOURCE_DIR}/../my_library" "${PROJECT_SOURCE_DIR}/my_library_output")
add_subdirectory("${PROJECT_SOURCE_DIR}/../my_application" "${PROJECT_SOURCE_DIR}/my_application_output")
请注意 也允许将 my_application
和 my_library
放在 中 my_solution
目录,如 Visual Studio.
根据@c-z 的回答添加一些视觉线索
这是我的项目结构的样子 -
这是我的根级别 CMakeLists.txt 的样子 -
最后,这是我的子目录级别 CMakeLists.txt 的样子 -
注意:
您可以选择删除外层 main.cpp 文件(我已经删除了)
此外,您可以删除项目级可执行文件以将其从 运行 配置中删除。
我正在寻找一种在 CLion 中并行处理多个项目的方法 IDE。
现在我一次只能处理 window 中的每个项目,但我正在寻找类似于 Eclipse IDE 的解决方案(见下文)- 能够看到我的不同项目的目录在侧边栏上,然后选择我想要的那个,自己编译等等。
有办法吗?
没有。 CLion 要么:
- 打开一个新的 window 包含您要处理的其他项目
- 关闭您当前的项目并在当前window 中打开新项目
正如您在 documentation 中看到的那样。我认为这在他们的设计中是需要的;可能是为了保持 CLion 的快速和反应...
是:CLion 不允许您从菜单打开多个项目,因为它使用 CMake 系统,基于脚本。
但是,CMake 非常有能力包含多个项目,CLion 将正确解析您的 CMake 文件并在项目资源管理器中显示所有相关目录。
例子
要做到这一点,就像在 Visual Studio 中一样,您需要一个父“解决方案”和一个或多个子“项目”。
这是一个简单的 CMake 示例,其中“my_solution”引用两个子项目,“my_application”和“my_library”。在这里,我的三个文件夹排列:
xxx/my_solution/CMakeLists.txt
xxx/my_application/CMakeLists.txt
xxx/my_library/CMakeLists.txt
而 xxx/my_solution/CMakeLists.txt
只是读作:
cmake_minimum_required(VERSION 3.7)
project(my_solution)
add_subdirectory("${PROJECT_SOURCE_DIR}/../my_library" "${PROJECT_SOURCE_DIR}/my_library_output")
add_subdirectory("${PROJECT_SOURCE_DIR}/../my_application" "${PROJECT_SOURCE_DIR}/my_application_output")
请注意 也允许将 my_application
和 my_library
放在 中 my_solution
目录,如 Visual Studio.
根据@c-z 的回答添加一些视觉线索
这是我的项目结构的样子 -
这是我的根级别 CMakeLists.txt 的样子 -
最后,这是我的子目录级别 CMakeLists.txt 的样子 -
注意: 您可以选择删除外层 main.cpp 文件(我已经删除了) 此外,您可以删除项目级可执行文件以将其从 运行 配置中删除。