c++ - 是否应该将头文件添加到目标中?

标签 c++ xcode build

当您创建 .h 文件时,Xcode 取消选中“目标”框。但通常会添加 .cpp/.m/.mm 文件。

什么时候应该和不应该将 .h 文件视为构建系统中的目标?

最佳答案

因为 .h 文件包含在您的源文件中。 “目标”是您必须自行编译的东西(“源文件”)。

假设我们有

foo.cpp

  #include "foo.h"

  ... 
  ...  lots more stuff here ... 
  ...

  int main()
  {
     ... some code goes here ... 
  }

然后编译器会将foo.cpp编译成目标文件,并使用链接器组件将其编译成可执行文件。

foo.h 文件包含在您的foo.cpp 中,并在那里编译。如果我们有一个复杂的项目,bar.cpp 可能还包含 foo.h,因此它会编译两次 - 这 [通常] 不是问题,因为头文件应该只包含可以多次编译到您的可执行文件中的东西 - 如果不是这种情况,“你做错了”。

关于c++ - 是否应该将头文件添加到目标中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24179129/

相关文章:

c++ - 如何公开库的枚举,以便我的代码不必键入整个命名空间来使用该枚举?

ios - 加载委托(delegate)时警告窗口层次结构

ios - cordova build ios 不创建 ipa 文件

ios - PresentViewController 在 iOS 4.3 上崩溃但在 iOS 5 上没有

tfs - 防止 TFS 在构建/发布时删除节点模块

c++ - 无法打开输出文件 : Building in C++

c++ - 从文件中获取输入并检查数字是否为质数

c++ - 为什么通过通用引用运算符 (&&) 将变量引用传递给可变参数模板函数失败?

c++ - Visual Studio-自动完成不起作用

c++ - XCode 和 expat XML 解析器