最近用野火M3做USB鼠标。移植的差不多了。但是编译的时候出现了重复定义的问题了,而我发现M3的U盘实验也和我有同样的问题。但是并没有报错。具体如下。
左图。在stm32f10x.h里面定义了typedef int32_t s32;
但是,同一个工程里面,usb_type.h里面也定义了typedef signed long s32;
在我移植的工程里面。出现了..\USB\LIB\usb_type.h(47): error: #256: invalid redeclaration of type name "vu32" (declared at line 511 of "..\CMSIS\stm32f10x.h")
也就是说我重复定义了?但是我和例程是一样的做法啊,为什么我的会报错而例程不会呢?急!!!
[img]file:///C:\Users\acer\AppData\Roaming\Tencent\Users\756197310\QQ\WinTemp\RichOle\WW8Q82XBWG[}J69Y7XYNM9G.jpg[/img]
另外,最重要的一点。在例程的mian.c文件里面。是同时包含这两个头文件的