我知道标题是愚蠢的,但我不知道如何问别人。
我正在尝试在我的头文件(stdio.h
)中包含一个标准库(string.h
或head.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? 提前感谢您的回答!
答案 0 :(得分:0)
问题是funcdef.c中的几个语法错误导致不将它与main.c链接。
语法错误主要是ANSI C中的C ++代码,它被tcc容忍并被gcc所憎恨。 ^^