论坛风格切换切换到宽版
  • 1438阅读
  • 5回复

[问题求助][Debian] **.c我make不过去,跟这些.h包有什么关系呢? [复制链接]

上一主题 下一主题
 
发帖
1959
C币
-152803
威望
383
贡献值
1
银元
-2
铜钱
4340
人人网人气币
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2009-05-01
--------以下这些代码是我从这个**.c里拷出来的,因为..make不过去--------.
--------出错信息的帖子是http://linux.chinaunix.net/bbs/thread-1097256-1-1.html -----.
#.include <linux/version..h>           建材
#if (LINUX_VERSION_CO.DE < 0.x020613).
#include. <linux/config.h>           女人
#endif
#i.f (LINUX_V.ERSION_CODE < 0x020500)[成人用品]
#if defined(CONFIG_MODVERS.IONS). && defined(MODULE) && ! defined(MODVERS.IONS)电影
#define MODVERSIO.NS--------------彩票
#incl..ude <linux/modversions.h>(广告)
#endif
#endif
#include. <linux/module.h>             电子
#if. (LINUX_VERSION_CODE >.= 0x020600)    健康
#include. <linux/mo.duleparam.h>[成人用品]
#endif
#inc.lude <linux/kernel.h>          婚庆
#include .<linux/timer.h>    健康
#include <linux/errno..h>虚拟主机
#include <l.inux/ioport.h>(广告)
#include <linux/sla.b.h>.
#include .<linux/vmal.loc.h>服务器
#include <linux/.interrupt.h>.
#include <linux/pci..h>    健康
#include <linux/.init.h>外贸
#i.nclud.e <linux/netdevice.h>    外汇
#i.nclude <lin.ux/etherdevice.h>           女人
#include <lin.ux/skbuff.h>           女人
#if (LINUX_.VERSION_CODE >.= 0x020600)    美容
#include <.li.nux/dma-mapping.h>健康
#endif
#include <asm/bit.ops.h><性病>
#include <.asm/io.h>              乙肝
#in.clude <asm/irq.h><性病>
#include <li.nux/delay.h>.
#include <.asm/byt.eorder.h>          婚庆
#include <asm./page.h>--- 印刷
#include <linux/time..h>外贸
#include <linux/et..htool.h>电影
#include. <linux/mii.h>            杀毒
#ifdef NET.IF_F_HW_VLAN_TX           鲜花
#incl.ude <linux/if_vlan.h>.--------------彩票
#d.efine BCM_VLAN 1.
#endif
#ifdef NETIF._F_TSO.
#include. <net/ip.h>    外汇
#include <net/tcp..h>    美容
#include <ne.t/checksum.h>域名
#define. BCM_TSO 1投资
#endif
#if (LIN.UX_VERSION_CO.DE >= 0x020600)           鲜花
#incl.ude <linux/workqueue.h.>           建材
#endif
#ifndef BNX2_BOOT_DIS.K.
#include <linux/crc32.h.>.
#endif
#inc.lude <linux/prefetc.h.h>            杀毒
#include .<linux/cache.h>教育
#include <linux./zlib.h>           女人
#include ".bnx2.h"学习
#include ."bnx2_fw.h".
#define DRV_MODULE_NA.ME  ".bnx2"服务器
#de.fine PFX DRV_MODULE._NAME ": ".
#define DRV_MODULE_VERS.ION "1.4..51b"--------------彩票
#de.fine DR.V_MODULE_RELDATE "December 15, 2006".
#d.efine RUN_AT(x) (jiffies + (x)).           建材
/* Time in jiffies b.efor.e concluding the transmitter is hung. */.
-.------ 以下N行内容省略-------教育

想问的是这个.c文件 里面include的这些.h文件,应该是头文件吧?我怎么知道我装了吗?如果没装从哪.能得.到呢?             汽车

注:这是个.网卡驱动里.的一个文件. 我 make这个为了装网卡驱动(        游戏          )

评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
发帖
2093
C币
-152295
威望
391
贡献值
1
银元
-1
铜钱
4772
人人网人气币
0
只看该作者 沙发  发表于: 2010-04-14
Re:[Debian]
你的makefile怎么写的?

离线hack119.
发帖
1875
C币
-60755
威望
362
贡献值
1
银元
-1
铜钱
4278
人人网人气币
0
只看该作者 板凳  发表于: 2010-04-14
Re:[Debian]


QUOTE:原帖由 zhongfrank 于 2009-4-22 11:30 发表
你的makefile怎么写的?


makefile的内容如下(我可没着本事写着东西哦,我就都粘出来了)

#!/usr/bin/make
# Makefile for building Linux Broadcom Gigabit ethernet driver as a module.
# $id$
KVER=
ifeq ($(KVER),)
  KVER=$(shell uname -r)
endif
# PREFIX may be set by the RPM build to set the effective root.
PREFIX=
ifeq ($(shell ls /lib/modules/$(KVER)/build > /dev/null 2>&1 && echo build),)
  ifeq ($(shell ls /usr/src/linux > /dev/null 2>&1 && echo linux),)
    LINUX=
  else
    LINUX=/usr/src/linux
  endif
else
  LINUX=/lib/modules/$(KVER)/build
  ifeq ($(shell ls /lib/modules/$(KVER)/source > /dev/null 2>&1 && echo source),)
    LINUXSRC=$(LINUX)
  else
    LINUXSRC=/lib/modules/$(KVER)/source
  endif
endif
ifneq ($(shell grep netdump_mode $(LINUXSRC)/include/linux/kernel.h > /dev/null 2>&1 && echo rh),)
  NETDUMP_CFLAG = -DRED_HAT_LINUX_KERNEL
else
  NETDUMP_CFLAG =
endif
# check if 2.4 kernel or 2.5+ kernel
BCM_KVER:=$(shell echo $(KVER) | cut -c1-3 | sed 's/2\.[56]/2\.6/')
ifeq ($(BCM_KVER), 2.6)
# Makefile for 2.5+ kernel
BCM_DRV = bnx2.ko
ifneq ($(KERNELRELEASE),)
obj-m += bnx2.o
EXTRA_CFLAGS = $(NETDUMP_CFLAG)
else
default:
make -C $(LINUX) SUBDIRS=$(shell pwd) modules
endif
else # ifeq ($(BCM_KVER),2.6)
# Makefile for 2.4 kernel
BCM_DRV = bnx2.o
ifeq ($(LINUX),)
  $(error Linux kernel source tree not found)
endif
CC = gcc
CFLAGS=-DMODULE -D__KERNEL__ -Wall -Wstrict-prototypes -I$(LINUX)/include $(NETDUMP_CFLAG)
ifeq ($(shell grep netif_poll_disable $(LINUXSRC)/include/linux/netdevice.h > /dev/null 2>&1 && echo newnetif),)
  CFLAGS+=-DOLD_NETIF
endif
ifeq ($(wildcard ~/rpmdir),)
  rpmdir = /usr/src/redhat
else
  rpmdir = $(wildcard ~/rpmdir)
endif
ARCH:=$(shell uname -m)
ifeq ($(ARCH),x86_64)
  CFLAGS+=-mno-red-zone -mcmodel=kernel -pipe -finline-limit=2000
endif
ifeq ($(ARCH),ia64)
  CFLAGS+=-pipe -ffixed-r13 -mfixed-range=f10-f15,f32-f127 -falign-functions=32
endif
ifeq ($(ARCH),ppc64)
  ifneq ($(shell ls /opt/cross/bin/powerpc64-linux-gcc > /dev/null 2>&1 && echo ppcgcc),)
    CC=/opt/cross/bin/powerpc64-linux-gcc
  endif
  CFLAGS+=-fno-strict-aliasing -fno-common -fomit-frame-pointer -msoft-float -pipe -mminimal-toc -fno-builtin
endif
ifdef SMALL
  CFLAGS += -Os
else
  CFLAGS += -O2
endif
all: bnx2.o
endif # ifeq ($(BCM_KVER),2.6)
bnx2.4.gz:
gzip -c bnx2.4 > bnx2.4.gz
ifeq ($(BCM_KVER), 2.6)
install: default bnx2.4.gz
else
install: $(BCM_DRV) bnx2.4.gz
endif
mkdir -p $(PREFIX)/lib/modules/$(KVER)/kernel/drivers/net;
install -m 444 $(BCM_DRV) $(PREFIX)/lib/modules/$(KVER)/kernel/drivers/net;
@if [ "$(PREFIX)" = "" ]; then /sbin/depmod -a ;\
else echo " *** Run '/sbin/depmod -a' to update the module database.";\
fi
install -m 444 bnx2.4.gz $(PREFIX)/usr/share/man/man4;\
.PHONEY: all clean install
clean:
-rm -f bnx2.o bnx2.ko bnx2.mod.c bnx2.mod.o bnx2.4.gz

离线baiyuvii.
发帖
2056
C币
-152556
威望
344
贡献值
1
银元
-4
铜钱
4523
人人网人气币
0
只看该作者 地板  发表于: 2010-04-14
Re:[Debian]
呵呵,这么复杂的,我看不懂啦
你是要编译网卡驱动
我觉得除了检查头文件以外,因该先编译一下内核,就是make menuconfig,你的makefile指定头文件是到系统的源码中,曾经遇到过对于源码,没有编译,而直接make,会出现头文件的错误信息,所以不妨试试看

离线122284197.
发帖
2115
C币
-235616
威望
365
贡献值
1
银元
-4
铜钱
4739
人人网人气币
0
只看该作者 4楼 发表于: 2010-04-14
Re:[Debian]


QUOTE:原帖由 zhongfrank 于 2009-4-22 13:05 发表
呵呵,这么复杂的,我看不懂啦
你是要编译网卡驱动
我觉得除了检查头文件以外,因该先编译一下内核,就是make menuconfig,你的makefile指定头文件是到系统的源码中,曾经遇到过对于源码,没有编译,而直接ma ...



我也碰到过

离线52niming.
发帖
2223
C币
-235325
威望
349
贡献值
1
银元
-3
铜钱
4874
人人网人气币
0
只看该作者 5楼 发表于: 2010-04-14
Re:[Debian]
这些大多都是内核都文件,一般在/usr/src中。
还要看你的path如何设置的
快速回复
限100 字节
批量上传需要先选择文件,再选择上传
 
上一个 下一个