当前位置: 技术问答>linux和unix
求助!Linux下多个.c和.h的编译问题
来源: 互联网 发布时间:2015-10-23
本文导语: 我的程序包含三个文件:两个c文件main.c和test.c,一个头文件test.h test.h文件中一些函数声明,而test.c文件中则是test.h中声明的函数的函数体 main.c文件中主函数会调用test.h中声明的函数 我在main.c中#include "test.h" 在test.c...
我的程序包含三个文件:两个c文件main.c和test.c,一个头文件test.h
test.h文件中一些函数声明,而test.c文件中则是test.h中声明的函数的函数体
main.c文件中主函数会调用test.h中声明的函数
我在main.c中#include "test.h"
在test.c中也#include "test.h"
然后编译gcc -o main main.c
编译结果是test.h中声明的函数undefined refrence
似乎是说test.c和test.h没有关联起来
请问:在不把所有函数放在一个文件里时,我应该怎么编译?
test.h文件中一些函数声明,而test.c文件中则是test.h中声明的函数的函数体
main.c文件中主函数会调用test.h中声明的函数
我在main.c中#include "test.h"
在test.c中也#include "test.h"
然后编译gcc -o main main.c
编译结果是test.h中声明的函数undefined refrence
似乎是说test.c和test.h没有关联起来
请问:在不把所有函数放在一个文件里时,我应该怎么编译?
|
1.gcc -o main main.c test.c(没有具体试过,不知道行不行)
2.最好还是用MakeFile进行编译
2.最好还是用MakeFile进行编译
|
要用Makefile文件进行编译
|
这个你只需要写一个简单的Makefile文件之后用make命令就可以编译了。
eg.
OBJS = test
CC = gcc
CFLAGS = -Wall -g
all: $(OBJS)
test : m.o test.o
$(CC) -o $(OBJS) *.o
.c.o:
$(CC) -c -o $*.o $*.c
#m.o : m.c
# $(CC) $(CFLAGS) -c $
eg.
OBJS = test
CC = gcc
CFLAGS = -Wall -g
all: $(OBJS)
test : m.o test.o
$(CC) -o $(OBJS) *.o
.c.o:
$(CC) -c -o $*.o $*.c
#m.o : m.c
# $(CC) $(CFLAGS) -c $
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
站内导航:
特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!