-1

我知道这个标题有点愚蠢,但我不知道如何问别的。我正在尝试在我的头文件 ( ) 中包含一个标准库 (stdio.h或),然后将其包含在我的脚本中。string.hhead.hmain.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

生成文件(完整):

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 时 GCC 表现得如此奇怪?提前感谢您的回答!

4

1 回答 1

0

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

And the syntax mistakes were mainly C++ code in ANSI C which was tolerated by tcc and hated by gcc. ^^

于 2011-05-17T22:01:58.820 回答