10907|18

159

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

winavr+avrstudio系统怎么加入自己生成的函数库? [复制链接]

winavr+avrstudio系统怎么加入自己生成的函数库?
现在只会生成函数库,例如:mylib.a,mylib.h
但是把这两个文件的路径加入到项目的属性中,把头文件也包含到主程序中,编译的时候系统找不到库里面的函数。

最新回复

这个要学习一下  详情 回复 发表于 2015-5-9 14:45
点赞 关注(1)
个人签名*我的EMAIL:     sunke9@qq.com  
*我的博客http://blog.ednchina.com/sunke9/
*我网店:https://sunke9.taobao.com/
承接:电子、自动控制产品设计开发;单片机、ARM编程。
 

回复
举报

2131

帖子

0

TA的资源

至上芯片

沙发
 

回复 楼主 SUNKE9 的帖子

生成后将库文件加到工程中,包含头文件,编译就可以了,头文件中包含函数的声明部分
 
个人签名处处留心皆学问!
 
 

回复

159

帖子

0

TA的资源

一粒金砂(高级)

板凳
 
楼上说的方法我已经试过了,编译的时候提示找不到库中的函数。
 
个人签名*我的EMAIL:     sunke9@qq.com  
*我的博客http://blog.ednchina.com/sunke9/
*我网店:https://sunke9.taobao.com/
承接:电子、自动控制产品设计开发;单片机、ARM编程。
 
 

回复

2131

帖子

0

TA的资源

至上芯片

4
 

回复 板凳 SUNKE9 的帖子

这两个文件都加载到工程中了吗?
头文件包含到项目中了吗?
基本上就这两个关键点
 
个人签名处处留心皆学问!
 
 

回复

159

帖子

0

TA的资源

一粒金砂(高级)

5
 
库文件mylib.a不能直接加到项目中,只能通过制定库的路径指向保存库的文件夹,mylib.h已经加入到项目中,并且用#include包含到主程序中了。
 
个人签名*我的EMAIL:     sunke9@qq.com  
*我的博客http://blog.ednchina.com/sunke9/
*我网店:https://sunke9.taobao.com/
承接:电子、自动控制产品设计开发;单片机、ARM编程。
 
 

回复

159

帖子

0

TA的资源

一粒金砂(高级)

6
 

这是我的主程序


  1. #include < avr/io.h >
  2. #include < util/delay.h >
  3. #include "mylib.h"

  4. #define uchar unsigned char
  5. #define uint unsigned int

  6. //静态库函数声明
  7. extern void FlashLedRed(void);
  8. extern void FlashLedYel(void);

  9. void DelayMs(uint t)
  10. {
  11.          uint i;
  12.          for(i=0;i
  13.           _delay_loop_2(4 * 250);
  14. }

  15. int main(void)
  16. {
  17.          //I/O初始化
  18.          PORTB=_BV(PB0)|_BV(PB1);
  19.          DDRB=_BV(PB0)|_BV(PB1);
  20.   
  21.          while(1)
  22.          {
  23.                   FlashLedRed();
  24.                   FlashLedYel();
  25.          }
  26. }
复制代码

[ 本帖最后由 SUNKE9 于 2011-4-13 15:59 编辑 ]
 
个人签名*我的EMAIL:     sunke9@qq.com  
*我的博客http://blog.ednchina.com/sunke9/
*我网店:https://sunke9.taobao.com/
承接:电子、自动控制产品设计开发;单片机、ARM编程。
 
 

回复

159

帖子

0

TA的资源

一粒金砂(高级)

7
 

这是mylib.c文件


  1. #include < avr/io.h >
  2. #include < avr/delay.h >

  3. void DelayMs(unsigned int t)
  4. {
  5.         unsigned int i;
  6.         for(i=0;i
  7.                 _delay_loop_2(4 * 250);
  8. }

  9. void LedFlashMs(unsigned int ms)
  10. {
  11.         PORTA ^= (1<<3);        //Toggle Led pin: PA3
  12.         DelayMs(ms);
  13.         PORTA ^= (1<<3);        //Toggle Led pin: PA3
  14.         DelayMs(ms);
  15. }
复制代码

[ 本帖最后由 SUNKE9 于 2011-4-13 16:00 编辑 ]
 
个人签名*我的EMAIL:     sunke9@qq.com  
*我的博客http://blog.ednchina.com/sunke9/
*我网店:https://sunke9.taobao.com/
承接:电子、自动控制产品设计开发;单片机、ARM编程。
 
 

回复

159

帖子

0

TA的资源

一粒金砂(高级)

8
 

这是库文件的头文件


  1. /*文件名: mylib.h*/

  2. #ifndef  MYLIB_H
  3. #define  MYLIB_H

  4. void FlashLedRed(void);
  5. void FlashLedYel(void);

  6. #endif
复制代码
 
个人签名*我的EMAIL:     sunke9@qq.com  
*我的博客http://blog.ednchina.com/sunke9/
*我网店:https://sunke9.taobao.com/
承接:电子、自动控制产品设计开发;单片机、ARM编程。
 
 

回复

159

帖子

0

TA的资源

一粒金砂(高级)

9
 
这是我的项目设置

1.jpg (61.01 KB, 下载次数: 0)

这是项目

这是项目

2.jpg (14.85 KB, 下载次数: 0)

这是库文件保存在项目目录中

这是库文件保存在项目目录中

3.jpg (36.52 KB, 下载次数: 0)

这是项目库文件设置

这是项目库文件设置
 
个人签名*我的EMAIL:     sunke9@qq.com  
*我的博客http://blog.ednchina.com/sunke9/
*我网店:https://sunke9.taobao.com/
承接:电子、自动控制产品设计开发;单片机、ARM编程。
 
 

回复

159

帖子

0

TA的资源

一粒金砂(高级)

10
 
这是编译提示,请您多费心给指点指点

4.jpg (30.82 KB, 下载次数: 0)

编译提示

编译提示
 
个人签名*我的EMAIL:     sunke9@qq.com  
*我的博客http://blog.ednchina.com/sunke9/
*我网店:https://sunke9.taobao.com/
承接:电子、自动控制产品设计开发;单片机、ARM编程。
 
 

回复

1万

帖子

139

TA的资源

版主

11
 
库文件要放在合适的路径下。
 
 
 

回复

159

帖子

0

TA的资源

一粒金砂(高级)

12
 
请问楼上怎么算适合呢?我是放在我源程序的目录下
 
个人签名*我的EMAIL:     sunke9@qq.com  
*我的博客http://blog.ednchina.com/sunke9/
*我网店:https://sunke9.taobao.com/
承接:电子、自动控制产品设计开发;单片机、ARM编程。
 
 

回复

159

帖子

0

TA的资源

一粒金砂(高级)

13
 
我都写明白了吧?请用过的朋友给个指点
 
个人签名*我的EMAIL:     sunke9@qq.com  
*我的博客http://blog.ednchina.com/sunke9/
*我网店:https://sunke9.taobao.com/
承接:电子、自动控制产品设计开发;单片机、ARM编程。
 
 

回复

2131

帖子

0

TA的资源

至上芯片

14
 
这个编译器没用过,不过做成的库文件 如果不确定怎样设置编译搜索库文件路径可以加到工程中  mylib.a 不能加到工程中吗?
 
个人签名处处留心皆学问!
 
 

回复

159

帖子

0

TA的资源

一粒金砂(高级)

15
 
我在9楼的帖子里面贴上了库文件设置的截图,里面有库文件搜索的路径,这个路径我设的就是项目的根目录,我做的库也是放在这个目录下,可是编译器编译的时候还是提示找不到函数。
 
个人签名*我的EMAIL:     sunke9@qq.com  
*我的博客http://blog.ednchina.com/sunke9/
*我网店:https://sunke9.taobao.com/
承接:电子、自动控制产品设计开发;单片机、ARM编程。
 
 

回复

1万

帖子

139

TA的资源

版主

16
 
不同编译器的要求不同,有的支持任意目录,只要给出路径即可,有的则必须放在指定的库文件目录下,去阅读一下编译器的帮助文档即可获知。
 
 
 

回复

34

帖子

0

TA的资源

一粒金砂(中级)

17
 

楼主解决这个 问题了么??

 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

18
 
楼主的问题解决了吗?
 
 
 

回复

24

帖子

0

TA的资源

一粒金砂(初级)

19
 
这个要学习一下
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表