当您创建 .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/