【问题标题】:how to separate header and cpp file cmake [closed]如何分离头文件和cpp文件cmake [关闭]
【发布时间】:2021-09-15 05:05:08
【问题描述】:

我正在尝试设置一个聊天应用项目,它看起来像这样:

project hierarchy

我找到了一些教程,但我不知道如何设置 CMakeLists.txt 文件看起来如何?

附:也许我没有正确地做项目文件夹层次结构。那你能告诉我如何做得更好吗?

【问题讨论】:

  • 文字描述通常比“看看这张照片,希望你会看到我做的同样的事情”更好。尝试用文字描述您的问题,以便我们准确地关注您当前遇到的问题。

标签: c++ cmake


【解决方案1】:

老实说,我没有让你的结构很好,但回答你的问题 - 这就是你如何让你的文件在 CMakeList.txt 中可执行

如何在源文件中包含标头,您可以通过两种方式实现:

  1. 通过相对路径包含标题,例如#include "../../include/client/client.h" 什么不好看
  2. 在 CMakeList.txt include_directories(./include/client)include_directories(./include/server) 中添加包含目录的绝对路径包含头

请注意,您只能在 include_directories() 中写入 1 个路径,这与您可以在 add_executable() 中写入多个路径不同。

执行此操作后,您可以通过#include "client.h" 分别在client.cpp#include "server.h" 中简单地将您的标头包含到源文件中。

Quick CMake tutorial 第 5 章中查看更多信息。

您还应该知道" "<> 之间的区别。我会参考这个question

【讨论】:

  • 嘿,谢谢你的回答。这对我来说是工作。但是,我需要写它:#include "../../include/client/client.h" 来包含文件。我可以修复它吗?还是我应该做它库?
  • 请注意,Stack Overflow 不鼓励在问题和答案中使用代码图像
  • @trytobecomebetter 您可以编写相对路径,正如您之前提到的,但还有其他方式(对我来说似乎更好) - 添加包含目录。我将用截图编辑我的答案
猜你喜欢
  • 2017-07-20
  • 2021-04-03
  • 1970-01-01
  • 1970-01-01
  • 2010-09-24
相关资源
最近更新 更多