找回密码
 立即注册
查看: 301|回复: 9

添加USB库报错问题|已解决

[复制链接]
  • 打卡等级:以坛为家I
  • 打卡总天数:237
  • 最近打卡:2025-04-30 09:20:25

2

主题

12

回帖

1082

积分

金牌会员

积分
1082
发表于 2025-3-6 09:16:28 | 显示全部楼层 |阅读模式
大神们帮忙看看按官方参考程序添加USB库,添加就报127 128错误,对照了例程找不到问题在那了,有知道的帮忙看看,谢谢!


*** ERROR L127: UNRESOLVED EXTERNAL SYMBOL
    SYMBOL:  usb_init?
    MODULE:  .\Objects\System_init.obj (System_init)
*** ERROR L128: REFERENCE MADE TO UNRESOLVED EXTERNAL
    SYMBOL:  usb_init?
    MODULE:  .\Objects\System_init.obj (System_init)
    ADDRESS: FF0085H
*** ERROR L127: UNRESOLVED EXTERNAL SYMBOL
    SYMBOL:  OutNumber
    MODULE:  .\Objects\usb_cdc.obj (usb_cdc)
*** ERROR L127: UNRESOLVED EXTERNAL SYMBOL
    SYMBOL:  usb_OUT_done?
    MODULE:  .\Objects\usb_cdc.obj (usb_cdc)
*** ERROR L127: UNRESOLVED EXTERNAL SYMBOL
    SYMBOL:  bUsbOutReady
    MODULE:  .\Objects\usb_cdc.obj (usb_cdc)
*** ERROR L127: UNRESOLVED EXTERNAL SYMBOL
    SYMBOL:  printf_usb?
    MODULE:  .\Objects\usb_cdc.obj (usb_cdc)
*** ERROR L127: UNRESOLVED EXTERNAL SYMBOL
    SYMBOL:  ?printf_usb??BYTE
    MODULE:  .\Objects\usb_cdc.obj (usb_cdc)
*** ERROR L127: UNRESOLVED EXTERNAL SYMBOL
    SYMBOL:  UsbOutBuffer
    MODULE:  .\Objects\usb_cdc.obj (usb_cdc)
*** ERROR L127: UNRESOLVED EXTERNAL SYMBOL
    SYMBOL:  USB_SendData?
    MODULE:  .\Objects\usb_cdc.obj (usb_cdc)
*** ERROR L127: UNRESOLVED EXTERNAL SYMBOL
    SYMBOL:  DeviceState
    MODULE:  .\Objects\usb_cdc.obj (usb_cdc)
*** ERROR L127: UNRESOLVED EXTERNAL SYMBOL
    SYMBOL:  usb_init?
    MODULE:  .\Objects\usb_cdc.obj (usb_cdc)
Program Size: data=8.1 edata+hdata=309 xdata=3200 const=21902 code=5666
Target not created.
Build Time Elapsed:  00:00:01

AI8051U_DOME_V1.0(USB).zip

227.15 KB, 下载次数: 9

回复

使用道具 举报 送花

3

主题

1160

回帖

1031

积分

等待验证会员

积分
1031
发表于 2025-3-6 09:18:00 | 显示全部楼层
您好,关于您提到的USB库报错问题,错误代码L127和L128表明在链接阶段未能解析外部符号`usb_init`。这通常是由于以下几种原因之一:

1. **库文件未正确添加**:请确保USB库文件已正确添加到项目中,并且路径设置无误。检查链接器设置中是否包含了必要的库文件。

2. **函数声明与定义不匹配**:确认`usb_init`函数的声明与定义是否一致,包括函数名、参数列表和返回类型。

3. **库未编译或未链接**:如果库是动态链接的,确保库已正确编译,并且在链接时能够找到。

4. **编译器和库的兼容性**:检查使用的编译器版本是否与USB库兼容,避免因版本不匹配导致的符号解析失败。

建议您逐步排查上述可能的原因,并参考官方文档或社区论坛获取更多帮助。希望这些建议能帮助您解决问题。

[本文内容由国芯人工智能辅助生成,仅供参考]
回复 支持 反对

使用道具 举报 送花

3

主题

1160

回帖

1031

积分

等待验证会员

积分
1031
发表于 2025-3-6 09:23:00 | 显示全部楼层
根据您描述的问题,ERROR L127和L128通常是由于链接器无法找到外部符号`usb_init`的定义所致。这可能是由于以下原因之一:

1. **USB库未正确链接**:请确保在项目设置中正确添加了USB库文件(如`.lib`或`.a`),并检查库路径是否配置正确。

2. **函数声明与定义不匹配**:检查`usb_init`函数的声明与定义是否一致,包括函数签名和调用约定(如`__cdecl`或`__stdcall`)。

3. **库版本不兼容**:确认使用的USB库与编译器和目标平台兼容,避免因版本不匹配导致的符号未定义问题。

4. **库文件缺失或损坏**:重新下载或编译USB库,确保库文件完整且未被损坏。

建议您先检查上述问题,尤其是库文件的链接配置。如果问题仍未解决,可以提供更多代码或配置细节以便进一步分析。

[本文内容由国芯人工智能辅助生成,仅供参考]
回复 支持 反对

使用道具 举报 送花

3

主题

1160

回帖

1031

积分

等待验证会员

积分
1031
发表于 2025-3-6 09:23:00 | 显示全部楼层
您好,从报错信息来看,问题可能出在USB库的链接或导入步骤。ERROR L127和L128表明编译器无法找到`usb_init`函数的定义,这通常是由于未正确链接USB库文件或库文件路径设置不当所致。请按照以下步骤进行排查:

1. **检查库文件路径**:确保USB库文件(如`.lib`或`.a`)已正确添加到项目的链接器路径中。
2. **确认库文件包含**:在代码中正确包含USB库的头文件(如`#include "usb.h"`),并确保头文件路径正确。
3. **检查函数声明**:确保`usb_init`函数的声明与库文件中的定义一致。
4. **重新编译库**:如果使用的是自定义库,尝试重新编译库文件。

如果问题仍未解决,建议检查项目的编译环境配置,确保所有依赖项均已正确设置。希望这些建议能帮助您解决问题。

[本文内容由国芯人工智能辅助生成,仅供参考]
回复 支持 反对

使用道具 举报 送花

3

主题

1160

回帖

1031

积分

等待验证会员

积分
1031
发表于 2025-3-6 09:23:00 | 显示全部楼层
在添加USB库时遇到L127和L128错误,通常是由于链接器无法找到`usb_init`函数的定义。请按照以下步骤排查问题:

1. **确认库文件路径**:确保USB库文件(如`.lib`或`.a`)已正确添加到项目中,且路径无误。
2. **检查库版本**:确认使用的USB库版本与编译器及目标芯片兼容。
3. **函数声明与定义**:在代码中确认`usb_init`函数已正确声明,并在库中有对应的实现。
4. **链接顺序**:确保在链接阶段,USB库文件在依赖它的模块之前被链接。
5. **编译器设置**:检查编译器的库搜索路径和链接选项是否正确配置。

建议对照官方文档和例程,逐项检查上述配置,确保所有依赖项均已正确设置。若问题仍存在,可提供更多上下文信息以便进一步分析。

[本文内容由国芯人工智能辅助生成,仅供参考]
回复 支持 反对

使用道具 举报 送花

3

主题

1160

回帖

1031

积分

等待验证会员

积分
1031
发表于 2025-3-6 09:23:00 | 显示全部楼层
关于您在添加USB库时遇到的L127和L128错误,这通常是由于链接器未能解析外部符号`usb_init`所致。建议您从以下几个方面进行排查:

1. **库文件路径**:确保USB库文件路径已正确添加到项目设置中,且库文件存在。
2. **库文件包含**:检查是否已正确包含USB库的头文件,并在代码中调用了`usb_init`函数。
3. **库文件兼容性**:确认所使用的USB库与当前编译器及芯片型号兼容。
4. **函数声明**:确保`usb_init`函数在库中有明确定义,且函数签名与调用处一致。

建议您仔细对照官方例程,检查上述环节,通常可以解决此类问题。如有进一步问题,欢迎提供更多细节以便深入分析。

[本文内容由国芯人工智能辅助生成,仅供参考]
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:423
  • 最近打卡:2025-05-01 07:10:25
已绑定手机

76

主题

4833

回帖

8343

积分

超级版主

DebugLab

积分
8343
发表于 2025-3-6 11:35:30 | 显示全部楼层
.lib和.h都要添加
截图202503061134468252.jpg

初始化:
截图202503061135244054.jpg

DebugLab
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:237
  • 最近打卡:2025-04-30 09:20:25

2

主题

12

回帖

1082

积分

金牌会员

积分
1082
发表于 2025-3-6 11:42:27 | 显示全部楼层
谢谢各位回复,已经解决了,把lib和h这二个文件移了个位置再重新添加就可以了。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:162
  • 最近打卡:2025-05-01 06:56:44
已绑定手机

56

主题

1319

回帖

2938

积分

荣誉版主

无情的代码机器

积分
2938
发表于 2025-3-7 21:11:42 | 显示全部楼层
wnag*** 发表于 2025-3-7 20:59
请问我添加了USB库,实验箱通过USB接电脑,程序调用哪个函数,可以在串口助手中接收到数据呢 ...

void USB_SendData(BYTE *dat, int size);
三天不学习,赶不上刘少奇~
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:237
  • 最近打卡:2025-04-30 09:20:25

2

主题

12

回帖

1082

积分

金牌会员

积分
1082
发表于 2025-3-9 10:00:20 | 显示全部楼层
erci*** 发表于 2025-3-7 21:11
void USB_SendData(BYTE *dat, int size);

回复 支持 反对

使用道具 举报 送花

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

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 02:17 , Processed in 0.256697 second(s), 107 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表