GCC编译的时候总出个list.h错误,我头文件没有这个阿。我用源代码中的例子程序编译依然出这个错,请高手

[root@localhost opt]# arm-linux-gcc -I/usr/linux-3.0.8/include -o leds mini210_leds.c
In file included from /usr/linux-3.0.8/include/linux/list.h:4:0,
from /usr/linux-3.0.8/include/linux/module.h:9,
from mini210_leds.c:2:
/usr/linux-3.0.8/include/linux/types.h:13:2: warning: #warning "Attempt to use kernel headers from user space, see http://kernelnewbies.org/KernelHeaders"
In file included from /usr/linux-3.0.8/include/linux/module.h:9:0,
from mini210_leds.c:2:
/usr/linux-3.0.8/include/linux/list.h:24:42: warning: 'struct list_head' declared inside parameter list
/usr/linux-3.0.8/include/linux/list.h:24:42: warning: its scope is only this definition or declaration, which is probably not what you want
/usr/linux-3.0.8/include/linux/list.h: In function 'INIT_LIST_HEAD':
/usr/linux-3.0.8/include/linux/list.h:26:6: error: dereferencing pointer to incomplete type
/usr/linux-3.0.8/include/linux/list.h:27:6: error: dereferencing pointer to incomplete type
/usr/linux-3.0.8/include/linux/list.h: At top level:
......
后面还有无穷长……
宿主机:fedora 18

板子是:TINY210

首先,确保你的头文件隔离,以防止重复定义的宏。例如,开始file.h
#内容IFNDEF __ FILE__HEAD___

FILE__HEAD___

#定义__ / /头文件

#ENDIF / / __ FILE__HEAD___

后使用

file.h的list.h所以file.h的介质的#include“list.h / /假设头文件在同一目录

list.h在二手preapre.h,使用list.h的中间#包括“prepare.h的”

在node.h prepare.h如此prepare.h的#包括“node.h的”

在某些情况下,因为代码组织,或汇编成册,这段代码的组织能力问题,根据特定代码的具体判断。
另外,准确的头文件是编译器只是第一步,预处理,真正的“守则”,应该是一个源文件编译原理,这个问题。
温馨提示:内容为网友见解,仅供参考
无其他回答

请问linux下,gcc编译程序的过程(从读取源文件到制作可执行程序中间所有...
缺省时 GCC 建立的目标代码文件有一个 .o 的扩展名. -S 编译选项告诉 GCC 在为 C 代码产生了汇编语言文件后停止编译. GCC 产 生的汇编语言文件的缺省扩展名是 .s . -E 选项指示编译器仅对输入文件进行预 处理. 当这个选项被使用时, 预处理器的输出被送到标准输出而不是储存在文件里。优化选项 当...

compile error是什么错误
compile error 是C语言编辑错误。1、变量未定义就使用,或定义后使用位置超出了定义的作用域。说明:如b=25但程序并未在使用前定义好b的类型,还应注意变量作用域。2、 括号不匹配。说明:()、[]、{}一定要有始就得有终。3、使用非法类型。说明:如__int64在GCC编译器下不识别,你却用它。4、...

linux 如何运行编译程序
-o: 指定生成的可执行文件名,如果没有该选项,如果生成可执行文件,默认文件名为a.out 编译路径选项 -i : 指定特定头文件 gcc –c -i \/home\/zry\/test.h test.c -I<DIR>: 依赖选项,指定头文件路径 Linux下大多数函数将头文件放在\/usr\/include目录下,如果需要指定其他路径,可以使用该选...

linux中make makefiles这个命令是什么意思
install。利用make工具,我们可以将大型的开发项目分解成为多个更易于管理的模块,对于一个包括几百个源文件的应用程序,使用make和makefile工具就可以简洁明快地理顺各个源文件之间纷繁复杂的相互关系。而且如此多的源文件,如果每次都要键入gcc命令进行编译的话,那对程序员来说简直就是一场灾难。而make工具则可自动完成编...

C语言里面的这个#include <stdio.h>什么意思啊?
在程序中要使用头文件,需要使用 C 预处理指令 #include 来引用它。 stdio.h 头文件,它是编译器自带的头文件。引用头文件相当于复制头文件的内容,但是我们不会直接在源文件中复制头文件的内容,因为这么做很容易出错,特别在程序是由多个源文件组成的时候。

C语言中的(#include<stdio.h>和#include<math.h>)是什么意思?
1. 在C语言中,`#include`是一个预处理指令,用于在程序编译前将标准输入输出库(Standard Input\/Output library)包含进来。这个库提供了进行基本输入输出的函数,如`printf()`和`scanf()`。2. 同样地,`#include`预处理指令包含了数学库(Math library),这个库提供了诸如三角函数、对数函数、平方...

有没有大佬给我讲解一下msvc、mingw,gcc、g++,qmake、cmak
首先,我们通过一段Hello World示例,即hello.c文件,来介绍编译过程。在Linux环境下,通过GCC将高级语言翻译成机器语言,完成预编译、编译、汇编和链接的全过程。然而,使用集成开发环境如Visual Studio时,这些步骤通常被集成在一个构建过程中。GCC\/G++来自GNU计划,由Richard Stallman发起,旨在创建一个自由...

什么是原文件,目标文件,可执文件
1。源文件 源文件就是存放程序代码的文件。通常我们编辑代码的文件就是源文件。源代码是相对目标代码和可执行代码而言的。源代码就是用汇编语言和高级语言写出来的地代码。在网页上右键鼠标,选择查看源文件.出来一个记事本,里面的内容就是此网页的源代码.2。目标文件 目标代码是指源代码经过编译程序产生...

谁知道.gdb格式的文件用什么打开?
如要确认gdb是否读到源文件,可使用l或list命令,看看gdb是否能列出源代码。在gdb中,运行程序使用r或是run命令。程序的运行,你有可能需要设置下面四方面的事。1、程序运行参数。set args 可指定运行时参数。(如:set args 10 20 30 40 50)show args 命令可以查看设置好的运行参数。2、运行环境。path 可设定程...

C语言 #include "string.h" 的 意思
include“string.h”是在程序编译之前要处理的内容,与字符串的调用有关 包括常用函数如下:strlen求字符串长度 strcmp比较2个字符串是否一样 strcat字符串连接操作 strcpy字符串拷贝操作 strncat字符串连接操作(前n个字符)strncpy字符串拷贝操作(前n个字符)strchr查询字串 strstr 查询子串 举例说明:例如...

相似回答