我的文件依赖a.c
,a.h
,b.c
,b.h
,c.c
,c.h
,都是这样的:创建目标文件中的文件
// a.c
#include "a.h"
#include "b.h"
#include "c.h"
#include <lib>
// b.c
#include "b.h"
#include <lib>
// c.c
#include "c.h"
#include <lib>
我没有main()
功能。我需要创建out.o
,而其他人会在他的程序中使用它(他将不得不编写#include "a.h"
以使用我在那里编写的函数)。
所以我写了
gcc -std=c99 -c c.c -o c.o -llib
gcc -std=c99 -c b.c -o b.o -llib
gcc -std=c99 -c a.c -o a.o -llib
但是当我尝试使用将它们结合起来
gcc -o out.o a.o b.o c.o -llib
我得到很多错误,如relocation 18 has invalid symbol index 13
,最后undefined reference to 'main'
。
如何创建我所需要的? `
术语你正在寻找的是*静态库*。搜索如何在例如Linux,你会得到很多点击。 –