编译stdio.h / iostream时无效的参数错误

问题描述 投票:2回答:1

由于标头内部出现某些错误,我突然无法编译包含这些标头文件的任何内容。我以前从未遇到过这个问题,我什至不知道该错误意味着什么。任何帮助表示赞赏!

该代码只是下面显示的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.
c++ c gcc g++
1个回答
0
投票

这实际上是一个奇怪的错误,请尝试重新安装库,即libc6-dev-i386:

sudo apt-get install gcc-multilib

sudo apt-get install libc6-dev:i386

© www.soinside.com 2019 - 2024. All rights reserved.