2014-04-02 2 views
2

VMware Player를 통해 x64 Ubuntu Linux를 가상 시스템으로 사용하고 있습니다. 내 프로젝트의 일부로 일부 라이브러리 (fec-3.0.1)를 설치해야합니다. 나는 리눅스를 처음 사용하고 코딩을 잘 못한다. 여기Linux 터미널 오류 : 복합 문 끝의 레이블

[email protected]:~/project/fatcaps_v0.5/fec-3.0.1$ make 
    gcc -g -O2 -I. -Wall -c -o dotprod.o dotprod.c 
    dotprod.c: In function ‘freedp’: 
    dotprod.c:56:3: error: label at end of compound statement 
     default: 
    ^
    make: *** [dotprod.o] Error 1 

가 콘텐츠 함수 'freedp'(스타트 라인은 55이다)된다 : 여기서

는 I 성공적인 설정 후에 단말기에서 발생하는 에러이다

/* Free a dot product descriptor created earlier */ 
    void freedp(void *p){ 
     switch(Cpu_mode){ 
     case PORT: 
     default: 
    #ifdef __i386__ 
     case MMX: 
     case SSE: 
     return freedp_mmx(p); 
     case SSE2: 
     return freedp_sse2(p); 
    #endif 
    #ifdef __VEC__ 
     case ALTIVEC: 
     return freedp_av(p); 
    #endif 
     } 
    } 

무엇 해야합니까?

답변

9

label at end of compound statement 오류가 발생하는 이유는 default 사례가 비어있을 수 없기 때문입니다. 즉, break 또는 ; 비어있는 구문을 제공해야합니다. 나는 그 주제에 대한 몇 가지 자료를 찾고, 내가 그 가지고 :

편집 https://mail.gnome.org/archives/evolution-patches/2004-April/msg00235.html을, 그것은 문없이 default에 오류를보고 컴파일러 gcc3.4에 대한 문제이며, 그것은를 gcc3에 경고한다. 3,하지만 지금, 나는 gcc4.8.2에서 테스트한다. 괜찮아 ....