【问题标题】:Linux header files giving syntax errorLinux头文件给出语法错误
【发布时间】:2013-02-10 12:22:27
【问题描述】:

在尝试使用 gcc 编译程序时,出现以下错误。

在 /usr/include/unistd.h:218:0 包含的文件中, 来自 fcfssched.c:3: /usr/include/x86_64-linux-gnu/bits/types.h:31:1:

错误:预期为“=”, ‘,’, ‘;’, ‘asm’ 或 ‘attribute’ 在 ‘typedef’ 之前

错误似乎在头文件/bits/types.h

第二个错误(可能)是第一个错误的结果。

包含在文件中 从 /usr/include/stdlib.h:320:0, 来自 fcfssched.c:5: /usr/include/x86_64-linux-gnu/sys/types.h:34:1:

错误:未知类型 名称“__u_char”

我该如何解决这个问题?

头文件似乎没问题。我刚刚使用 libc6-dev 包更新了标题。 我正在使用带有内核 3.2.0-36-generic 的 Ubuntu 12.04 x86

【问题讨论】:

  • 您在 /bits/types.h 之前还包括哪些其他标头?

标签: c linux ubuntu-12.04 header-files


【解决方案1】:

这种错误一般发生在用户代码中包含指令周围的语法错误的情况下。

如果在包含/bits/types.h 的包含附近没有丢失;}(在包含树之后),您应该查看您的来源。

【讨论】:

  • 包含之间有一个杂散字符。刚发现。
【解决方案2】:

此错误通常发生在您错过编码行中的 (;) 或 (}) 时。请检查您编写的每一行代码。

解决问题的最佳方法是从收到的错误行开始逐行检查代码。不要检查项目中包含的标准文件。错误来自您的编码文件。

【讨论】:

  • 包含之间有一个杂散字符。刚发现。
猜你喜欢
  • 1970-01-01
  • 2021-07-23
  • 2020-04-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多