[应用相关] STM32库咋回事

[复制链接]
 楼主| myfaith 发表于 2009-2-26 09:59 | 显示全部楼层 |阅读模式
从realview网上下的万利板的四个实例程序一个都编译不了,都是什么"struct "<unnamed>" has no field "XXXXX",什么变量没定义等错误,我使用的是MDK3.4,为什么会这样??
小飞鼠 发表于 2009-2-26 10:17 | 显示全部楼层

那些例程估计是用V1.0固件写的。

  
winloop 发表于 2009-2-26 10:20 | 显示全部楼层

还是你自己的问题

前因后果多看几遍,不要光看表面的
 楼主| myfaith 发表于 2009-2-26 10:22 | 显示全部楼层

这和库有关系吗?

既然程序是用V1.0的库写的,那用V1.0的库编译连接应该也没问题啊?
小飞鼠 发表于 2009-2-26 10:53 | 显示全部楼层

MDK3.4是V2.0的库

    V1.0某些库定义的,在V2.O中有改变,所以,你的那些提示 是找不到对应的定义。参考V2.0的库,自己改改程序就好了。
 楼主| myfaith 发表于 2009-2-26 11:07 | 显示全部楼层

STM32F10xD.LIB和STM32F10xR.LIB有什么区别?

如果是V1.0的程序,为什么在工程里添加V1.0的库也编译不成功呢?
runmo420 发表于 2009-2-26 13:11 | 显示全部楼层

还是你自己的问题

同意3楼说的。试一下不要用 STM32F10xD.LIB或STM32F10xR.LIB,仅把所需的文件添加到工程中去,一般来说,只要添加cortexm3_macro.s,stm32f10x_vector.s,main.c,stm32f10x_it.c以及要用到的外设库文件就可以了。
 楼主| myfaith 发表于 2009-2-26 14:10 | 显示全部楼层

我把全部库的代码都加进去也是不行

虽然是我自己的问题,但是我想知道究竟是哪里出的问题?
既然是实例代码,为什么还要自己修改?
 楼主| myfaith 发表于 2009-2-26 15:43 | 显示全部楼层

我用3.22版的编译就没问题

 楼主| myfaith 发表于 2009-2-26 15:44 | 显示全部楼层

还是不明白

为什么3.4版的即使把V1.0的库加到工程也不能编译??谁能告诉我
小飞鼠 发表于 2009-2-27 09:54 | 显示全部楼层

MDK设置有关

     工程里 设置属性里的"C/C++"里的"include Paths"里,如果是默认的话,包含文件路径是MDK安装目录下的ST库里的文件,

只有当你设置到工程里的路径时,编译链接的才 是你 工程里的包含文件。

 这个就是MDK软件的熟悉问题了。
MDK2.3以前的版本用的都是V1.0的库,MDK2.4以后都用V2.0的库了。只有设置好了,MDK2.4也可以用V1.0的库。
ST_ARM 发表于 2009-2-27 10:05 | 显示全部楼层

不太喜欢使用MDK

小飞鼠 发表于 2009-2-27 10:08 | 显示全部楼层

我没用过IAR,以前搞单片机用KEIL多了,所以继续用这个。

   其他软件以后也用用看看。呵呵!
 楼主| myfaith 发表于 2009-2-27 12:59 | 显示全部楼层

11楼

不是设置问题,我的包含路径设置为当前工程目录也没用,
"stm32f10x_lib.h"这个文件在工程目录里没有,只在安装目录下有
,可能是它的问题
fish2bear 发表于 2009-2-27 15:04 | 显示全部楼层

V1.0 和 V2.0 不兼容

 楼主| myfaith 发表于 2009-2-27 17:08 | 显示全部楼层

LS的意思是

即使把V1.0的库加到工程也不能编译?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

68

主题

468

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部