MDK编译时候总是出现重定义怎么处理?
最佳在编译的时候总是出现..\Libraries\inc\stm32f10x_type.h(33): error:#256: invalid redeclaration of type name "vs32" (declared at line 320 of "C:\Keil\ARM\INC\ST\STM32F10x\stm32f10x.h")怎么处理啊?stm32f10x_type.h是文件自动调用的,stm32_eth.c这个文件里只包含了include "stm32_eth.h"和#include "stm32f10x_rcc.h"没有包含stm32f10x_type.h和stm32f10x.h而stm32f10x_type.h和stm32f10x.h编译时候都说相互重复声明望大家给个意见啊?非常感谢! 可能你调用include "stm32_eth.h"和#include "stm32f10x_rcc.h"时用到了stm32f10x_type.h和stm32f10x.h
1。你可以先将你函数部分或者stm32f10x_type.h和stm32f10x.h
用到"vs32"的用别的内似的定义代替试试。
或者2.看看include "stm32_eth.h"和#include "stm32f10x_rcc.h还有stm32f10x_type.h和stm32f10x.h 用的时候是否有多重错误包含调用。
3.你找不出来了,我再给你想 自己要勤快,多找啊 应该是加载的库和MDK内部的库有冲突,要么放弃“Libraries”这个文件夹下的库,要么放弃"C:\Keil\ARM\INC\ST"下的库,自己看着办吧。 大概就是按照楼上二位的方法解决的,非常感谢呵呵 检查一下所有文件的版本是否一至,2.0的库与3.0的库混在一起用就容易出这样的问题 这种问题肯定是出在加载的库和MDK内部的库有冲突
但上面的回答让新手们很难找到解决之道
其实新手们只要注意找到stm32f10x_conf.h这个文件 ,然后在option->c/c++下的路径注意包含就OK 咯 7楼的方法验证可用
页:
[1]