我正在尝试在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。
我做错了什么?
答案 0 :(得分:1)
问题不在于头文件本身;当您包含标题时,您没有告诉链接器在哪里可以找到代码的实际定义。所以你需要编译.c文件,例如进入静态库并将其添加到other_tool
。