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

先抛出结论:

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,编译不会报错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值