2017-10-23 6 views
-1

클래스 프로젝트에서 작업 중 'EXTERN'오류가 발생합니다. 시스템 콜을 생성하고 있습니다 (나중에 라이브러리 호출에 의해 액세스됩니다). 어떤 이유로, mproc.h 파일이 usr/src/releasetools에서 "make service"를 실행하려고 할 때 협력하지 않는 이유를 알 수 없습니다.알 수없는 형식 이름 'EXTERN'오류 Minix

In file included from do_getaccesslvl.c:2: 
./mproc.h:16:1: error: unknown type name 'EXTERN' 
EXTERN struct mproc { 
^ 
./mproc.h:16:8: error: expected identifier or '(' 
EXTERN struct mproc { 
    ^
do_getaccesslvl.c:12:16: error: incomplete definition of type 'struct mproc' 
    return process->level; 
      ~~~~~~~^ 

./proto.h:3:8 :주의 : 여기에 내가 점점 오전 오류입니다

mproc를 구조체 '구조체 mproc'의 앞으로 선언;

3 개의 오류가 생성되었습니다. *** 오류 코드 1

EXTERN은 형식 이름을 알 수 없습니까? 이 "struct"은 기본적으로 Minix에 의해 정의되었습니다. 아마 뭔가를 손상 시켜서 Oracle VirtualBox의 이전 스냅 샷으로 되돌아 갔지만 오류가 계속 발생했습니다. 어떤 도움이라도 대단히 감사하겠습니다.

+0

좀 더 자세한 정보를 포함 할 수 있습니까? 'EXTERN'은 매크로인가요, 아니면 extern입니까? 'struct mproc'는 타입 정의입니까? 그렇다면 완벽한 유형 정의를 보여주십시오. 선언하고있는 특정'struct mproc' 변수를 가지고 있고 그것을 외부에서 참조하기를 원한다면 어디에 선언하고 있습니까? – MFisherKDX

답변

-1

음, 알아 냈습니다. 죄송 합니다만 충분한 정보를 추가하지 않았습니다. 오류가 내 시스템 호출 파일에 있었고 파일을 포함하는 순서 때문이었습니다. 포함 된 파일의 순서를 변경 한 후 모든 작업이 완료되었습니다! 도와 주셔서 감사합니다!

+0

이 질문을 삭제할 수 있습니다. 귀하가 직접 답변을 찾았으므로 그리 흥미롭지 않습니다. – jwdonahue