[AVR单片机] 请教一些avrgcc的疑问.

[复制链接]
2322|1
 楼主| pengkewei 发表于 2008-1-9 22:58 | 显示全部楼层 |阅读模式
我的os是winxp,安装了avrgcc,编译的文件是网络上下载的usbisp的源程序.有两个问题很郁闷.

原来的程序嵌入文件用的是include "isp.h".编译后发现程序提示isp.c当中定义的函数没有定义.d:\designed\_test\_usbisp程序分析\usbavrisp\firmware/main.c:76: undefined reference to `ispSetSCKOption'
现在将该语句改为include "D:\Designed\_Test\_USBISP程序分析\USBAVRISP\firmware\isp.c"以后编译成功,当中的改动一是改成了全路径文件名,第二是将isp.h文件改成了isp.c.我看了源程序,isp.c当中指定嵌入isp.h头文件,而isp.h文件当中没有嵌入isp.c文件,如果按照源文件的定义,main文件嵌入了isp.h文件以后应该没有嵌入isp.c文件,那么所有关于isp的函数都只有定义而没有函数的实际功能.但是源程序的确是嵌入*.h文件而没有嵌入*.c文件的.

另外一个问题是编译程序提示当中表示目录的斜杠变反了.源程序当中也出现了不同于win系统的斜杠,如:include <avr/io.h>编译的提示当中也会出现同上面的提示一样混合斜杠.如上面提示当中的main.c前面的就是"/".现在编译通过了,但是这样的提示总是叫人放心不下.
dai_weis 发表于 2008-1-12 22:45 | 显示全部楼层

关于“/”和“\”问题

是有区别的,操作系统在2000之后(98没有实验)对于程序中出现的文件路径名两种都可以识别,但是应用软件不一定识别,例如Office2000就不识别“/”
而他的后继产品就都可以正常识别,此现象我在VC.net中遇到过,后来为了安全性和可靠性一律采用C的标准路径用法:\\使用转义符号而不再使用/
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

46

帖子

1

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