expected unqualified-id before string constant

本文介绍了一种在Linux环境下编译C++程序时遇到的编译错误:expected unqualified-id before string constant,并详细解释了如何通过检查类定义后的分号来解决这个问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用环境:

Linux / C++

错误发现:

在代码编写完成之后,编译时发现如下错误:

/usr/include/errno.h:32:1: 错误: expected unqualified-id before string constant

错误查找:

很奇怪的错误,难道系统提供的头文件也会出错?

后来发现,在定义完类之后,没有加" ; "

在Windows下,此类错误是会有一个明确的提示的;但是Linux下不是这样的...

错误纠正:

在class {};定义之后加上" ; "即可...

In file included from C:/Users/lenovo/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2405/xtensa-esp-elf/include/errno.h:9, from C:\Users\lenovo\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/newlib/platform_include/errno.h:10, from C:\Users\lenovo\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/lwip/port/esp32xx/include/arch/cc.h:12, from C:\Users\lenovo\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/lwip/lwip/src/include/lwip/arch.h:48, from C:\Users\lenovo\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/lwip/lwip/src/include/lwip/debug.h:40, from C:\Users\lenovo\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/lwip/lwip/src/include/lwip/opt.h:52: C:/Users/lenovo/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2405/xtensa-esp-elf/include/sys/errno.h:7:8: error: expected unqualified-id before string constant 7 | extern "C" { | ^~~ C:\Users\lenovo\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/lwip/port/esp32xx/include/arch/cc.h:20:8: error: expected unqualified-id before string constant 20 | extern "C" { | ^~~ C:\Users\lenovo\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/lwip/lwip/src/include/lwip/arch.h:125:9: error: 'uint8_t' does not name a type 125 | typedef uint8_t u8_t; | ^~~~~~~ C:\Users\lenovo\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/lwip/lwip/src/include/lwip/arch.h:108:1: note: 'uint8_t' is defined in header '<cstdint>'; did you forget t
03-25
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值