|
|
1
80
错误是因为您的gcc核心包和gcc-g++不是同一版本。要么降级其中一个以解决问题,要么更新两个库。建议同时更新两个库。 |
|
2
5
我在一次新的MinGW安装中遇到了这个错误,它与“Prasanth Karri”当前接受的答案中提到的已安装软件包无关。就我而言
问题是由
|
|
|
3
2
当我将一个用C编写的软件库合并到一个现有的演示项目中(使用C++mbed库)时,我遇到了这个问题。这个演示项目可以很好地编译,但是在我用自己的主文件替换了现有的主文件之后,出现了这个错误。
此时,我还没有想到我需要的mbed库是用C++编写的。我自己的主文件是一个.c文件
只有在我检查了构建日志的输出之后,我才意识到各种源C和C++文件是由不止一个编译器(C++编译器)编译的。该项目使用的编译器arm-none-eabi-c++和arm-none-eabi-gcc(用于嵌入式系统)如下所示。 编译日志:
当然在C++环境中 cstddef exists ,但在C环境中cstdef不存在, in stead it's just C's implementation of stddef . 换句话说,cstdef在C编译器中不存在。 我通过重命名主机来解决这个问题。c文件到main。cpp和其他代码也顺利编译。 TLDR/结论 :在构建C++项目时,避免将C文件与C++文件(源文件和头文件)混合。如果可能的话 将.c文件重命名为.cpp 文件,以便在需要时使用C++编译器而不是C编译器。 |
|
|
4
2
要更新它,请遵循以下步骤。 如果您在Windows上,只需在命令提示符或powershell上运行这些
更新软件包列表:
更新包列表后,运行:
|
|
5
0
这个问题在我安装时就解决了
|
|
|
6
0
如果您尝试编译并看到类似“致命错误:stddef.h:没有这样的文件或目录”的消息,则错误是因为您的gcc核心和gcc-g++包不是同一版本。重新运行Cygwin安装,并确保选择了编号最高的gcc-core和gcc-g++版本。 |
|
|
7
0
在用MinGW安装C++编译器后,我也遇到了这个问题。显然,您还必须安装mingw32 base。转到C:\MinGW/bin/MinGW-get。exe(我的路径),并在“基本设置”选项卡上检查其安装情况。 |