我有一个使用stm32f103初始化的stm32cubemx项目,我使用了neovim进行编辑,使用arm-none-eabi-gcc编译代码(使用自动生成的makefile)。
我还安装了嘎嘎声 LSP和熊来生成compile_commands.json
文件。除了有两个错误外,一切都很好:
我查看了core_cm3.h
文件,__FPU_USED
被禁用了,这正是clang所说的。
/** __FPU_USED indicates whether an FPU is used or not.
This core does not support an FPU at all
*/
#define __FPU_USED 0U
但是,我在makefile标志中找不到任何允许FPU进行编译的行。
# fpu
# NONE for Cortex-M0/M0+/M3
# float-abi
# mcu
MCU = $(CPU) -mthumb $(FPU) $(FLOAT-ABI)
我也注释掉了$(FPU)
和$(FLOAT-ABI)
,但是错误仍然存在。虽然我可以在没有任何问题的情况下编译这个项目(因为gcc没有任何抱怨),但是这些错误让我有点不安。
有办法纠正这些错误吗?或者有没有gcc的LSP来代替clangd?
neovim的LSP列表中也有ccls,但我无法安装它。
发布于 2022-06-05 07:06:59
有办法纠正这些错误吗?
https://clangd.llvm.org/config#files你可以:
-sysroot
命令以指定构建链的位置(我的系统上的/usr/arm-none-eabi/
)-isysroot
、-nostdlib
等)如果你用的话。无论如何,我建议移动CMake并生成compile_command.json。
有没有以gcc为基础的LSP代替clangd?
我不知道有什么。
https://stackoverflow.com/questions/72501038
复制相似问题