VSCODE + EIDE 下 STM32 编程使用部分外设无法通过编译:undefined reference to ‘xxx‘

我在配置某些外设时,敲代码时,代码提示能正常找到所有外设的库

编译时提示找不到 undefined reference to 'xxx_init' ,也就是没找到stm32f10x_xxx.c

同一个目录下的stm32f10x_tim.c却可以被找到。

临时解决方案

将stm32f10x_xxx.c复制到头文件的目录下

最终解决方案

发现是 EIDE 配置的问题。编译时 EIDE 默认将一些外设的库函数排除在外了,

在项目目录的.eide\eide.json 中:

json 复制代码
{
  ...
  "targets": {
    "Debug": {
      "excludeList": [
        "hal/STM32F10x_StdPeriph_Driver/src/stm32f10x_bkp.c",
        "hal/STM32F10x_StdPeriph_Driver/src/stm32f10x_can.c",
        "hal/STM32F10x_StdPeriph_Driver/src/stm32f10x_cec.c",
        "hal/STM32F10x_StdPeriph_Driver/src/stm32f10x_crc.c",
        "hal/STM32F10x_StdPeriph_Driver/src/stm32f10x_dac.c",
        "hal/STM32F10x_StdPeriph_Driver/src/stm32f10x_dbgmcu.c",
        "hal/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c",
        "hal/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c",
        "hal/STM32F10x_StdPeriph_Driver/src/stm32f10x_fsmc.c",
        "hal/STM32F10x_StdPeriph_Driver/src/stm32f10x_i2c.c",
        "hal/STM32F10x_StdPeriph_Driver/src/stm32f10x_iwdg.c",
        "hal/STM32F10x_StdPeriph_Driver/src/stm32f10x_pwr.c",
        "hal/STM32F10x_StdPeriph_Driver/src/stm32f10x_rtc.c",
        "hal/STM32F10x_StdPeriph_Driver/src/stm32f10x_sdio.c",
        "hal/STM32F10x_StdPeriph_Driver/src/stm32f10x_wwdg.c"
      ],
      ....
}

excludeList 中想要用到的库删除,再重新加载项目即可。

相关推荐
Clarence Liu11 分钟前
MacOS 在Trae IDE中构建现代C++开发环境:从新手到高效的完整指南
c++·ide·macos
一个平凡而乐于分享的小比特19 分钟前
STM32 GPIO 8种工作模式深入详解
stm32·单片机·嵌入式硬件·gpio
木楚27 分钟前
在idea中构建传统ssm框架的步骤和方式
java·ide·intellij-idea
x县豆瓣酱42 分钟前
STM32F1新建工程(基于STMCubeMX)
stm32·单片机·嵌入式硬件
蜡笔大新7981 小时前
IO流的认识(2)
java·ide·intellij-idea
Sean_woo19981 小时前
Zephyr rtos ESP32系列BSP提交流程指南
stm32·单片机·esp32·wsl·zephyr·立创开发板
polarislove02141 小时前
8.2 时钟树编程-嵌入式铁头山羊STM32笔记
笔记·stm32·嵌入式硬件
spencer_tseng2 小时前
Eclipse JDT Core for Java Code Formatter
java·ide·eclipse
AI_56782 小时前
STM32开发的效率跃迁
stm32·单片机·嵌入式硬件
Java后端的Ai之路2 小时前
【AI编程工具】-关闭Trae IDE的Git自动Pull开关
ide·git·ai编程·trae