重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
写个Makefile
仁寿网站建设公司成都创新互联公司,仁寿网站设计制作,有大型网站制作公司丰富经验。已为仁寿千余家提供企业网站建设服务。企业网站搭建\成都外贸网站建设公司要多少钱,请找那个售后服务好的仁寿做网站的公司定做!
,
以下在msys下测过
没问题
/*
base
下的
main.c
*/
#include
stdio.h
#include
"./sub/file.h"
/*
注意
sub前面是
点和缸
*/
int
main()
{
printf("enter
main
function!\n");
hello("veket_linux");
printf("back
to
main!\n");
return
0;
}
/*
base
下的
sub
下的
file.c
*/
#include
stdio.h
extern
void
hello(char
*name)
{
printf("this
is
hello
function,
hello
%s
!\n",
name);
}
/*
base
下的
sub
下的file.c的头文件
file.h
*/
extern
void
hello(char
*);
#base
下的
Makefile
main:main.o
file.o
gcc
-o
main
main.o
./sub/file.o
-I"./sub"
main.o:main.c
gcc
-c
main.c
file.o:./sub/file.c
cd
./sub
gcc
-c
file.c
cd
..
终端下
在base
目录敲make命令
make就会自动调用命令显示如下
gcc
-c
main.c
cd
./sub
gcc
-c
file.c
cd
..
gcc
-o
main
main.o
./sub/file.o
-I"./sub"
一种方式 是 通过 环境变量 INCLUDE, PATH, LIB 里的设置,编译器 会到 那里去找。
用双引号括起的方法 写 包含 文件名字 可以 带 详细的 路径。
例如:
#include "..\\DataBase\\include\\db.h"
例如:
#include "C:\\users\\public\\C\\LIB\\dbb.c"
路径写法 要符合自己用的操作系统.
最简单的办法你把所有的源代码文件(*.c *.h)放在同一个目录下问题原因:可能是你的编译器的搜寻目录没包括上实际所在目录,操作系统无法确认可以编译加载