ANSI C两级包含

时间:2011-05-16 15:09:05

标签: c include makefile ansi

我知道标题是愚蠢的,但我不知道如何问别人。 我正在尝试在我的头文件(stdio.h)中包含一个标准库(string.hhead.h),然后我的main.c脚本将其包含在内。

我的Windows 7 x64 TCC(http://bellard.org/tcc/)上的一切正常但是学院的solaris(我不知道,但它是非常重要的东西)gcc 4.0.2(2005年显然)只是不做... (我得到“未定义的符号”错误等。)

main.c(摘录):

#include "head.h"

head.h(摘录):

// include librarys
#include <stdio.h>      // standard input/output
#include <string.h>     // operations on strings
#include <locale.h>     // unicode string output

makefile(完整):

CX = tcc
IN = funcdef.o main.o

outfile: ${IN}
${CX} -o outfile.out ${IN}

funcdef.o: head.h funcdef.c
main.o: head.h main.c

我做错了什么?当TCC不是时,为什么海湾合作委员会的行为如此迟钝:D? 提前感谢您的回答!

1 个答案:

答案 0 :(得分:0)

问题是funcdef.c中的几个语法错误导致不将它与main.c链接。

语法错误主要是ANSI C中的C ++代码,它被tcc容忍并被gcc所憎恨。 ^^