免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
论坛 程序设计 C/C++ makefile
12下一页
最近访问板块 发新帖
查看: 4606 | 回复: 11
打印 上一主题 下一主题

makefile [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-09-15 18:15 |只看该作者 |倒序浏览
test.h
#ifndef _TEST_H_

#define _TEST_H_
void print();

#endif

test.c
#include <stdio.h>
#include "test.h"

void print()
{
    printf("hello,world\n");
}

main.c
#include "test.h"

int main()
{
    print();
    return 0;
}


makefile:

    mycpp: main.o test.o
        gcc -o mycpp main.o test.o
    main.o: main.c test.h
        gcc -c main.c
    test.o: test.c
        gcc -c test.c

    makefile:1: *** commands commence before first target。 停止。




请大家看看哪里错了?谢谢

论坛徽章:
0
2 [报告]
发表于 2008-09-15 21:40 |只看该作者
是不是太简单了,大家都不愿意来回答??

论坛徽章:
0
3 [报告]
发表于 2008-09-15 22:08 |只看该作者
原帖由 hr_it 于 2008-9-15 18:15 发表
test.h
#ifndef _TEST_H_

#define _TEST_H_
void print();

#endif

test.c
#include
#include "test.h"

void print()
{
    printf("hello,world\n");
}

main.c
#include "test.h"

i ...


检查一下你的makefile文件第1行开头是不是多了tab个字符

论坛徽章:
0
4 [报告]
发表于 2008-09-15 22:42 |只看该作者
原帖由 micra 于 2008-9-15 22:08 发表


检查一下你的makefile文件第1行开头是不是多了tab个字符


    mycpp: main.o test.o   //1
        gcc -o mycpp main.o test.o  //2
    main.o: main.c test.h       //3
        gcc -c main.c           //4
    test.o: test.c              //5
        gcc -c test.c           //6
1,3,5行一个tab,2,4,6行两个tab

我看linux程序设计第3版上说的规定所在的行必须以制表符开头的啊

论坛徽章:
0
5 [报告]
发表于 2008-09-15 22:45 |只看该作者
1,3,5行可以不要TAB 键嘛,直接在2,4,6每行前加一个TAB 就可了。

论坛徽章:
0
6 [报告]
发表于 2008-09-15 22:56 |只看该作者
目标 : 依赖
[TAB]命令.


最基本的格式,以后要记住啊.

论坛徽章:
0
7 [报告]
发表于 2008-09-15 22:58 |只看该作者
原帖由 hr_it 于 2008-9-15 22:42 发表
1,3,5行一个tab,2,4,6行两个tab

我看linux程序设计第3版上说的规定所在的行必须以制表符开头的啊
        ...

那你再好好看看那部分内容,你的理解有误了
以tab字符开头的文本行在makefile中会被视为命令

论坛徽章:
0
8 [报告]
发表于 2008-09-15 23:51 |只看该作者
谢谢楼上的各位

那书上是这样说的(P313):我们必须提及makefile文件中一个非常奇怪而又糟糕的语法现象:空格和制表符是有区别的。规则所在的行必须以制表符tab开头。

可能是我的理解有误吧。

论坛徽章:
0
9 [报告]
发表于 2008-09-16 00:45 |只看该作者
原帖由 hr_it 于 2008-9-15 07:51 发表
谢谢楼上的各位

那书上是这样说的(P313):我们必须提及makefile文件中一个非常奇怪而又糟糕的语法现象:空格和制表符是有区别的。规则所在的行必须以制表符tab开头。

可能是我的理解有误吧。


很好奇的问一下什么书?可以扔掉了。

论坛徽章:
0
10 [报告]
发表于 2008-09-16 01:49 |只看该作者
原帖由 hr_it 于 2008-9-15 23:51 发表
谢谢楼上的各位

那书上是这样说的(P313):我们必须提及makefile文件中一个非常奇怪而又糟糕的语法现象:空格和制表符是有区别的。规则所在的行必须以制表符tab开头。

可能是我的理解有误吧。

空格和制表符难道没有区别么?
我晕。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP