Makefile问题

C、C++和Java语言
回复
weihua2008
帖子: 448
注册时间: 2008-07-10 15:08
送出感谢: 0
接收感谢: 0
联系:

Makefile问题

#1

帖子 weihua2008 » 2008-09-04 15:23

想练习一下makefile结果结果老出错
Test.h:
#include<stdio.h>
void funtion()
{
printf("function is runned");
}
*************************************
#include<stdio.h>
#include"Test.h"
main.c:
{
function();
return 0;
}
*****************************************
Makefile:
main: main.o
cc -o main main.o
main.o: main.c Test.h
cc -o main.o
clean:
rm main main.o
****************************************
在终端运行的话劳出现错误:
cc -c main.c
cc -o main
cc: 没有输入文件
make: *** [main] 错误 1
这到底撒的了,过路大侠指教一二
头像
cnkilior
论坛版主
帖子: 4979
注册时间: 2007-08-05 17:40
送出感谢: 0
接收感谢: 5 次

#2

帖子 cnkilior » 2008-09-04 15:31

cc -o main.o
volcano8
帖子: 7
注册时间: 2008-03-05 23:04
来自: 中国北京
送出感谢: 0
接收感谢: 0
联系:

#3

帖子 volcano8 » 2008-09-04 16:24

Makefile:
main: main.o
cc -o main main.o
main.o: main.c Test.h
cc -o main.o
clean:
rm main main.o

改为如下试试
Makefile:
main: main.o
cc -o main main.o
main.o: main.c Test.h
#在下面这一行,你指定了输出文件名,但你没有指定生产此文件的“原料”
cc -o main.o main.c
clean:
rm main main.o
我想我可以接受失败,但我决不放弃!
头像
CLOCKWORKHEART
帖子: 635
注册时间: 2007-11-05 19:26
送出感谢: 0
接收感谢: 0
联系:

#4

帖子 CLOCKWORKHEART » 2008-09-04 22:10

编译选项错误。
gcc编译目标块的时候应该用-c,这样.c文件才能被编译生成.o文件。
Everything that has a beginning has an end.
weihua2008
帖子: 448
注册时间: 2008-07-10 15:08
送出感谢: 0
接收感谢: 0
联系:

问题解决

#5

帖子 weihua2008 » 2008-09-08 9:55

在上面的程序中问题主要出现在头文件的定义上,
*****************************************************
test.h:
#ifndef TEST_H_
#define TETS_H_
void funtion()
{
printf("function is runned");
}
#endif
*****************************************************
当然在写makefile时
在提交问题时疏忽了二楼姑娘的提出的问题

两处修改完后就没有问题了
回复

回到 “C/C++/Java”