Windows下Vscode找不到头文件的分析

  • Post author:
  • Post category:其他


先抛出结论:

windows下vscode无法识别相对路径“./”,只能识别绝对路径。

问题描述如下:

我的项目的路径结构绝对如下:

$ pwd


/f/Robot/mcu_code/robot-mcu-1.4.15.0/sdk

路径下有如下目录结构

$ ls

ALi/       FreeRTOS/      bootloader/   include/  ‘sdk Debug.cfg’   startup/

ChibiOS/   Makefile       build/        libs/      sku/             test/

Drivers/   Makefile.bak   images/       safety/    src/             tools/

makefile include定义如下:

########################################

# C include path

########################################

C_INCLUDES = \

-I


./


\

-Isrc \

-I$(ALI_DIR) \

-I$(CMSIS_DIR)/Include \

-Iinclude \

-Iinclude/configs

在linux server上使用gcc编译正常。

但是在windows环境下使用vscode + gcc编译会报错:


fatal error: libs/eeprom/eeprom_emul.h: No such file or directory

14 | #include “libs/eeprom/eeprom_emul.h”

但在指定的路径下,头文件肯定是存在的。

$ ls ./libs/eeprom/

eeprom_emul.c  eeprom_emul_conf.h   flash_interface.c

eeprom_emul.h  eeprom_emul_types.h  flash_interface.h

因gcc在linux环境下编译没问题,肯定不是makefile本身的问题,问题出在vscode或者windows下。

修改makefile,将


“./”


修改为绝对路径



/f/Robot/mcu_code/robot-mcu-1.4.15.0/sdk




,编译不会报错。



版权声明:本文为man9953211原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。