QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 902|回复: 1

简单程序的编译问题

[复制链接]
发表于 2006-3-14 20:53:04 | 显示全部楼层 |阅读模式
有一个简单的程序,由以下6个文件组成
main.c
mytool1.c
mytool2.c
mytool1.h
mytool2.h
makefile

具体代码如下:
main.c:为

#include "mytool1.h"
#include "mytool2.h"

int main(int argc,char **argv)
{
mytool1_print("hello");
mytool2_print("hello");
}


mytool1.c:为

#include "mytool1.h"
void mytool1_print(char *print_str)
{
printf("This is mytool1 print %s\n",print_str);
}

mytool2.c:为

#include "mytool2.h"
void mytool2_print(char *print_str)
{
printf("This is mytool2 print %s\n",print_str);
}

mytool1.h:为

#ifndef_MYTOOL_1_H
#define_MYTOOL_1_H
void mytool1_print(char *print_str);
#endif

mytool2.h:为
#ifndef _MYTOOL_2_H
#define _MYTOOL_2_H
void mytool2_print(char *print_str);
#endif

makefile为
main:main.o mytool1.o mytool2.o
        gcc -o main main.o mytool1.o mytool2.o
        main.o:main.c mytool1.h mytool2.h
        gcc -c main.c
        mytool1.o:mytool1.c mytool1.h
        gcc -c mytool1.c
        mytool2.o:mytool2.c mytool2.h
        gcc -c mytool2.c

用make命令编译后,报错如下:
[root@localhost c1]# make
cc    -c -o main.o main.c
cc    -c -o mytool1.o mytool1.c
mytool1.c: 在函数 ‘mytool1_print’ 中:
mytool1.c:4: 警告:内建函数 ‘printf’ 不兼容的隐式声明
cc    -c -o mytool2.o mytool2.c
mytool2.c: 在函数 ‘mytool2_print’ 中:
mytool2.c:4: 警告:内建函数 ‘printf’ 不兼容的隐式声明
gcc -o main main.o mytool1.o mytool2.o
main.o:main.c mytool1.h mytool2.h
make: main.o:main.c:命令未找到
make: *** [main] 错误 127

请问怎么回事?
发表于 2006-3-17 15:12:13 | 显示全部楼层
每行gcc命令前加一个tab
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-2 20:33 , Processed in 0.039434 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表