当前位置: 技术问答>linux和unix
怎样用gcc编译在不同两个文件夹下的程序?
来源: 互联网 发布时间:2016-03-24
本文导语: 刚接触gcc,不好意思。 两个不同的文件夹,包含有程序需要的不同的.c和.h文件,怎样来编译他们? | gcc a/x.c a/x.h -c -o a/x.o gcc b/y.c b/y.h -c -o b/y.o gcc -o c a/x.o b/y.o | 编译链接时...
刚接触gcc,不好意思。
两个不同的文件夹,包含有程序需要的不同的.c和.h文件,怎样来编译他们?
两个不同的文件夹,包含有程序需要的不同的.c和.h文件,怎样来编译他们?
|
gcc a/x.c a/x.h -c -o a/x.o
gcc b/y.c b/y.h -c -o b/y.o
gcc -o c a/x.o b/y.o
gcc b/y.c b/y.h -c -o b/y.o
gcc -o c a/x.o b/y.o
|
编译链接时指定目录路径即可, 另外使用-I指定包含文件的目录, -L指定需要链接的库文件路径
|
两种方式:
方式一:在用gcc编译的时候,-指定.h所包含的目录,甚至绝对路径.
例如:
gcc -g test.c -o test -I ./h/a.h
方式二:在test.c中指定包含的头文件
例如:#include "a.h的绝对路径或者相对路径",然后
gcc -g test.c -o test
方式一:在用gcc编译的时候,-指定.h所包含的目录,甚至绝对路径.
例如:
gcc -g test.c -o test -I ./h/a.h
方式二:在test.c中指定包含的头文件
例如:#include "a.h的绝对路径或者相对路径",然后
gcc -g test.c -o test
|
看来楼主可以了解下Makefile
|
可以先把每个.C文件编译成.o文件,然后把所有.o文件链接在一起