高级会员

- 积分
- 566
- 金钱
- 566
- 注册时间
- 2018-4-16
- 在线时间
- 76 小时
|
1金钱
arm-linux-gnueabihf-gcc -Wall -nostdlib -c -O2 -I cpu -I driver -I user -I interrupt -I stdio/include -o obj/start.o startup/start.S
arm-linux-gnueabihf-gcc -Wall -nostdlib -c -O2 -I cpu -I driver -I user -I interrupt -I stdio/include -o obj/lib1funcs.o stdio/lib/lib1funcs.S
arm-linux-gnueabihf-gcc -std=c11 -Wall -Wa,-mimplicit-it=thumb -nostdlib -c -O2 -I cpu -I driver -I user -I interrupt -I stdio/include -o obj/uart.o driver/uart.c
In file included from driver/uart.c:1:0:
driver/uart.h:7:6: warning: conflicting types for built-in function ‘putc’
void putc(unsigned char c);
^
driver/uart.h:8:6: warning: conflicting types for built-in function ‘puts’
void puts(void *str);
^
arm-linux-gnueabihf-gcc -std=c11 -Wall -Wa,-mimplicit-it=thumb -nostdlib -c -O2 -I cpu -I driver -I user -I interrupt -I stdio/include -o obj/clk.o driver/clk.c
arm-linux-gnueabihf-gcc -std=c11 -Wall -Wa,-mimplicit-it=thumb -nostdlib -c -O2 -I cpu -I driver -I user -I interrupt -I stdio/include -o obj/gpio.o driver/gpio.c
arm-linux-gnueabihf-gcc -std=c11 -Wall -Wa,-mimplicit-it=thumb -nostdlib -c -O2 -I cpu -I driver -I user -I interrupt -I stdio/include -o obj/main.o user/main.c
In file included from user/main.c:6:0:
driver/uart.h:7:6: warning: conflicting types for built-in function ‘putc’
void putc(unsigned char c);
^
driver/uart.h:8:6: warning: conflicting types for built-in function ‘puts’
void puts(void *str);
^
arm-linux-gnueabihf-gcc -std=c11 -Wall -Wa,-mimplicit-it=thumb -nostdlib -c -O2 -I cpu -I driver -I user -I interrupt -I stdio/include -o obj/interrupt.o interrupt/interrupt.c
arm-linux-gnueabihf-gcc -std=c11 -Wall -Wa,-mimplicit-it=thumb -nostdlib -c -O2 -I cpu -I driver -I user -I interrupt -I stdio/include -o obj/ctype.o stdio/lib/ctype.c
arm-linux-gnueabihf-gcc -std=c11 -Wall -Wa,-mimplicit-it=thumb -nostdlib -c -O2 -I cpu -I driver -I user -I interrupt -I stdio/include -o obj/muldi3.o stdio/lib/muldi3.c
arm-linux-gnueabihf-gcc -std=c11 -Wall -Wa,-mimplicit-it=thumb -nostdlib -c -O2 -I cpu -I driver -I user -I interrupt -I stdio/include -o obj/printf.o stdio/lib/printf.c
In file included from stdio/lib/printf.c:4:0:
driver/uart.h:7:6: warning: conflicting types for built-in function ‘putc’
void putc(unsigned char c);
^
driver/uart.h:8:6: warning: conflicting types for built-in function ‘puts’
void puts(void *str);
^
arm-linux-gnueabihf-gcc -std=c11 -Wall -Wa,-mimplicit-it=thumb -nostdlib -c -O2 -I cpu -I driver -I user -I interrupt -I stdio/include -o obj/div64.o stdio/lib/div64.c
arm-linux-gnueabihf-gcc -std=c11 -Wall -Wa,-mimplicit-it=thumb -nostdlib -c -O2 -I cpu -I driver -I user -I interrupt -I stdio/include -o obj/string.o stdio/lib/string.c
arm-linux-gnueabihf-gcc -std=c11 -Wall -Wa,-mimplicit-it=thumb -nostdlib -c -O2 -I cpu -I driver -I user -I interrupt -I stdio/include -o obj/vsprintf.o stdio/lib/vsprintf.c
In file included from stdio/lib/vsprintf.c:28:0:
driver/uart.h:7:6: warning: conflicting types for built-in function ‘putc’
void putc(unsigned char c);
^
driver/uart.h:8:6: warning: conflicting types for built-in function ‘puts’
void puts(void *str);
^
stdio/lib/vsprintf.c: In function ‘put_dec’:
stdio/lib/vsprintf.c:247:3: warning: implicit declaration of function ‘typeof’ [-Wimplicit-function-declaration]
rem = do_div(num, 100000);
^
In file included from stdio/lib/vsprintf.c:26:0:
stdio/include/div64.h:25:24: error: expected expression before ‘)’ token
(void)(((typeof((n)) *)0) == ((uint64_t *)0)); \
^
stdio/lib/vsprintf.c:247:9: note: in expansion of macro ‘do_div’
rem = do_div(num, 100000);
^
Makefile:48: recipe for target 'obj/vsprintf.o' failed
make: *** [obj/vsprintf.o] Error 1
上面是make输出, do_div这个宏 typeof不知道在哪定义的,编译报错。全局搜也没搜到。。有遇到这种错的吗?希望解惑
|
最佳答案
查看完整内容[请看2#楼]
typeof是关键字,是GNU特性,我由于代码里面有一些c11才支持的语法,所以编译flag里面简单设置了 -std=c11,没想到这个是个关键字需要gnu11的扩展特性支持,将之改成-std=gnu11就完美解决问题了
|