您的位置:首页 > 其它

一个关于msp430 编译的错误

2014-08-17 18:02 295 查看
Error[e46]: Undefined external "voltage" referred in main ( C:\Users\Administrator\Desktop\msp430prictice\press KEY to control DAC\Debug\Obj\main.r43 )

 

关于这种错误,

如果  voltage 是一个外部函数 只需加上函数所在文件的头文件就行

比如: 在ADC.c里面有一个函数 void ADC_Init();

在主函数中我需要调用这个变量,那么就需要在主函数中加上 #include “ADC.c”

 

但如果 voltage 是一个外部变量 这需要在 voltage 所在的文件中定义 voltage(不必要定义为 extern型,已经定义位extern型也会出错)

 然后在用到voltage的地方加上 extern unsigned int voltage (假设为unsigned int型变量)

比如:我在 ADC.c 文件里面定义了变量 unsigned int voltage  (不必要定义为 extern unsigned int voltage 会出错)

在主函数中我需要调用这个变量,那么除了在主函数中加上 #include “ADC.c”外,

还得在主函数中加一句 extern unsigned int voltage  不然就会出现以上这个错误

 

还有就是建议自己写多文件是最好 加上 

#ifndef  _AAA_H 

#define _AAA_H 

{....}   

#endif

这个避免文件太多经常调用时自己都被弄晕,理由嘛,网上有很多好的解释

 

如有其它好的方法欢迎分享,有不足也恳请予以斧正
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐