c++ - CLion 导入具有依赖项的现有 cmake 项目

标签 c++ clion

我正在测试 CLion 以检查它是否适合我们的需求。我有 9 个不同的 C++ 项目,我们使用 CMake 生成 makefile。我读到 CLion 很适合这类项目。我正在尝试在 CLion 的一个大项目中创建一个包含这 9 个模块的工作区。原因是它们中的一些具有依赖性,如果我们可以从一个模块导航到另一个模块,那可能会很棒。我尝试使用“从源代码导入项目”选项导入它们。这会检测我所有的模块,但会在根文件夹中创建一个巨大的 CMakeLists.txt,这对我不起作用。

我希望这个工作区包含这些模块并独立编译它们,但具有它们的导航依赖性。我搜索了很多,但没有找到任何东西。这可以在 CLion 中完成吗?

谢谢

最佳答案

创建一个包含所有子项目/模块的根 CMakeList.txt 是使用 CMake 的方法。如果你想编译单个子模块,你只需要make一个单一的目标:make [target]

我认为 CLion 中有一个工具窗口,您可以在其中查看所有目标并独立编译每个目标(类似于 IntelliJ 中的 Maven 工具窗口)。 或者,您可以创建运行配置..

(稍后我会附上我的答案,用事实来支持它。没有 CLion 在工作..)


不幸的是,我对工具窗口的看法是错误的。但是 CLion 会为其找到的每个目标自动创建一个运行/调试配置。您可以通过单击右上角的下拉菜单来选择它们。您可以选择全部构建 或特定目标。此菜单旁边有 3 个按钮 - CompileRunDebug - 用于触发任何操作。

关于c++ - CLion 导入具有依赖项的现有 cmake 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45230757/

相关文章:

c++ - 使用 Clion 的 C++ 简单程序 "expected ` ,' or ` .. .' before ' & &' token"

c++ - SFINAE 消除、Constexpr 和函数模板 : Can I keep declaration and definition separate?

c++ - 那么为什么 i =++i + 1 在 C++11 中定义良好?

c++ - Boost 与 char 类型不同的共享内存对象问题

c++ - 相同代码的不同版本

C getchar() 在终端中正常工作,但在 CLion 中不正常

c++ - Asio tcp 套接字上的未初始化读取错误

c++ - 如何使用 boost property_tree 创建 xml

gcc - CLion:错误:C 编译器 "C:/MinGW/bin/gcc.exe"无法编译简单的测试程序

c - “Use of a signed integer operand with a binary bitwise operator”-使用unsigned short时