Far*_*hat 6 c linux terminal gcc makefile
我通过VMware Player将x64 Ubuntu Linux用作虚拟机.作为我项目的一部分,我需要安装一些库(fec-3.0.1).我是Linux新手,不擅长编码.
以下是配置成功后我在终端遇到的错误:
farhat@ubuntu:~/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
Run Code Online (Sandbox Code Playgroud)
这是函数'freedp'的内容(起始行是55):
/* 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
}
}
Run Code Online (Sandbox Code Playgroud)
我该怎么办?
zhb*_*zhb 15
您遇到错误的原因label at end of compound statement是因为default案例不能为空,这意味着您必须提供一个break或;空的语句.
编辑:我找到了关于该主题的一些材料,我得到了:https://mail.gnome.org/archives/evolution-patches/2004-April/msg00235.html,这是关于编译器gcc3.4的问题,在default没有语句的情况下报告错误,并且它在gcc3.3上发出警告,但现在,我在gcc4.8.2上测试,它没事....