Bonjour,
Sur ma machine
- PC/x86
- kernel 2.6
- Mandrake 10.1
impossible de compiler ceci (skull)
/* com_driver.c */
#include <linux/module.h>
int __entry com_init_module (void)
{
printk( KERN_DEBUG "Module com init\n" );
return 0;
}
int __exit com_cleanup_module (void)
{
printk( KERN_DEBUG "Module com exit\n" );
return 0;
}
|
Le makefile est
# generer un module pour Linux 2.6 sur i586
CFLAG1 = -W -Wall -O2
CFLAG2 = -D__KERNEL__ -DMODULE
CFLAG3 =
CFLAGS = $(CFLAG1) $(CFLAG2) $(CFLAG3)
# cible finale
all : com.o
# fichier source
com.o : com.c
gcc $(CFLAGS) -c com.c -o com.o
|
Ca génère des tas d'erreurs comme
[edelahaye@localhost com]$ make
gcc -W -Wall -O2 -D__KERNEL__ -DMODULE -c com.c -o com.o
In file included from /usr/include/linux/sched.h:14,
from /usr/include/linux/module.h:9,
from com.c:2:
/usr/include/linux/cpumask.h:80: error: syntax error before "DECLARE_BITMAP"
/usr/include/linux/cpumask.h:81: error: syntax error before "_unused_cpumask_arg_"
/usr/include/linux/cpumask.h:84: error: syntax error before '*' token
/usr/include/linux/cpumask.h: In function `__cpu_set':
/usr/include/linux/cpumask.h:86: error: `cpu' undeclared (first use in this function)
/usr/include/linux/cpumask.h:86: error: (Each undeclared identifier is reported only once
/usr/include/linux/cpumask.h:86: error: for each function it appears in.)
/usr/include/linux/cpumask.h:86: error: `dstp' undeclared (first use in this function)
<...>
|
Il doit manquer des définitions de macros (-Dxxx), mais lesquelles... ?
Merci de m'aider.
Emmanuel
Message édité par Emmanuel Delahaye le 18-05-2005 à 14:11:52
---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/