如何在Mac上使用C共享头文件?

时间:2015-08-23 11:57:25

标签: c xcode

我正在尝试在C中链接和共享头文件;我想在许多程序之间共享此函数tool.c

void sayHello() {
    printf("Hello!");
}

...我在tool.h中定义了这个函数:

void sayHello();

如果其他程序#include tool.h很有意义,那么它们都可以调用sayHello函数。我需要从多个文件创建一个程序。在这里,我可以创建一个完全不同的程序(目标)来调用函数:

#include <stdio.h>
#include "/usr/someone/somewhere/tool.h"

int main() {
    sayHello();
}

但是,链接器进程失败:linker command failed with exit code 1。如果您愿意,请下载Xcode项目here

我做错了什么?

1 个答案:

答案 0 :(得分:1)

问题不在于头文件本身;当您包含标题时,您没有告诉链接器在哪里可以找到代码的实际定义。所以你需要编译.c文件,例如进入静态库并将其添加到other_tool

的链接器选项中