日期:2014-05-16  浏览次数:20734 次

(只有10分了)如何用GCC编译多个文件啊
如何用GCC编译啊?
  悬赏分:30   -   离问题结束还有   14   天   23   小时
我有三个文件,a1.c,a2.c,a2.h  
a2.c中只有一个函数,a2.h是这个函数的声明,  
a1.c中加了#include   "a2.h ",并调用了a2.c中的那个函数呢?  
那么我应该怎样用gcc编译呢?  
高手帮忙啊
问题补充:如果用gcc   -g   a1.c   -o   a1,则提示找不到引用a2.c中的那个函数

------解决方案--------------------
是不是因为gcc不会自动编译a2.c文件并连接。
那该怎么做呢?

------解决方案--------------------
gcc a1.c a2.c
或者
gcc -o a.out -I./ a1.c a2.c
------解决方案--------------------
$gcc -o a2.o a2.c
$gcc -o a1 al.c a2.o
------解决方案--------------------
你这个样子是不行的,你需要在 a1.c中extern a2.c函数。

关注下别人是怎么调用

另,多研究哈makefile的写法。
------解决方案--------------------
我知道可以,不过是跟你提个建议。呵呵,别见怪。。。
------解决方案--------------------
啊?头文件没什么用?那你在一个项目中,多个模块都要用到你的函数,是不是你都要把函数原形都去弄一遍呢?
再者,发布库文件时候,你不给别人头文件,别人怎么调用你的库呢?