由于标头内部出现某些错误,我突然无法编译包含这些标头文件的任何内容。我以前从未遇到过这个问题,我什至不知道该错误意味着什么。任何帮助表示赞赏!
该代码只是下面显示的hello world程序,但是编译时,出现gcc和g ++的以下错误:
// test.c
#include <stdio.h>
int main(int argc, const char *argv[]) {
printf("%Hello, world!\n");
return 0;
}
// test.cpp
#include <iostream>
int main(int argc, const char *argv[]) {
std::cout << "Hello, world!" << '\n';
return 0;
}
gcc test.c
In file included from test.c:1:0:
/usr/include/stdio.h:27:10: fatal error: /usr/include/x86_64-linux-gnu/bits/libc-header-start.h: Invalid argument
#include <bits/libc-header-start.h>
^~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
g++ test.cpp
In file included from /usr/include/features.h:424:0,
from /usr/include/x86_64-linux-gnu/c++/7/bits/os_defines.h:39,
from /usr/include/x86_64-linux-gnu/c++/7/bits/c++config.h:533,
from /usr/include/c++/7/iostream:38,
from test.cpp:1:
/usr/include/x86_64-linux-gnu/sys/cdefs.h:427:10: fatal error: /usr/include/x86_64-linux-gnu/bits/wordsize.h: Invalid argument
#include <bits/wordsize.h>
^~~~~~~~~~~~~~~~~
compilation terminated.
这实际上是一个奇怪的错误,请尝试重新安装库,即libc6-dev-i386:
sudo apt-get install gcc-multilib
或
sudo apt-get install libc6-dev:i386