【发布时间】:2017-05-12 01:49:33
【问题描述】:
我的文件依赖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,其他人将在他的程序中将其与 main 一起使用(他必须编写 #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,您将获得很多成功。