打印
[AVR单片机]

请教一些avrgcc的疑问.

[复制链接]
1748|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

粉丝