2011-05-16 2 views
-1

제목이 어떻게 든 어리 석다는 것을 알지만 다른 방법을 묻는 방법을 모른다. 내 main.c 스크립트에 포함 된 헤더 파일 (head.h)에 표준 라이브러리 (stdio.h 또는 string.h) 중 하나를 포함하려고합니다.ANSI C 2 레벨 포함

모든 것이 내 Windows 7 x64 TCC (http://bellard.org/tcc/)에서 잘 작동하지만 대학의 솔라리스 (별다른 생각이 없지만 심각하게 stoneage 한 것) 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가 그렇지 않을 때 GCC가 왜 그렇게 지체되어 있습니까? D? 미리 답변 해 주셔서 감사합니다.

+2

어떤 오류가 발생합니까? –

+1

어떤 오류 메시지가 나타 납니까? 축 어적으로, 제발. –

+3

"undefined symbol"은 링커 오류이며 컴파일러 오류가 아닙니다. 아마도'# include '로 할 일이 없을 것이다. 솔라리스에서 사용하고있는 것을 게시하십시오 - tcc로 작업 한 내용은 부적절합니다. – Mat

답변

0

문제는 funcdef.c에 여러 가지 구문 오류가있어서 main.c와 연결되지 않습니다.

구문 실수는 주로 tcc에서 용인되었고 gcc가 싫어하는 ANSI C의 C++ 코드입니다.^