Bonjour,

J'essaye en vain de compiler un programme sous linux... Après de multiples recherches Google, je ne suis pas parvenu à trouver quelle bibliothèque est manquante !

Voici mon Makefile
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
NAME=app_notify
 
CC=gcc
CFLAGS=$(shell ./cflags.sh)
 
OSARCH=$(shell uname -s)
 
ifeq ($(OSARCH),Darwin)
  CFLAGS+= -D__Darwin__
  SOLINK=-dynamic -bundle -undefined suppress -force_flat_namespace
  TESTLINK=-undefined suppress -force_flat_namespace
  MODULES_DIR=/Library/Asterisk/modules
	CC=gcc -arch ppc -arch i386
else
  SOLINK=-shared -Xlinker -x
  MODULES_DIR=/usr/lib/asterisk/modules
endif
 
RES=$(NAME).so
 
app_notify.so : app_notify.o
	$(CC) $(SOLINK) -o $@ $<
 
all: $(RES) sampleClient
 
clean:
	rm -f $(NAME).o $(NAME).so notifyClient.o notifyClient sampleClient
 
install: all
	if [ -f $(NAME).so ]; then \
		install -m 755 $(NAME).so $(MODULES_DIR) ; \
	fi
 
reload: install
	asterisk -rx "unload ${RES}"
	asterisk -rx "load ${RES}"
Et les erreurs à la compilation
usr/include/asterisk/channel.h:1362: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘attribute_pure’
/usr/include/asterisk/channel.h:1379: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘attribute_const’
/usr/include/asterisk/channel.h:1593: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token
/usr/include/asterisk/channel.h:1601: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token
/usr/include/asterisk/channel.h:1619: error: expected identifier or ‘(’ before ‘do’
/usr/include/asterisk/channel.h:1619: error: expected declaration specifiers before ‘while’
/usr/include/asterisk/channel.h:1642: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token
/usr/include/asterisk/channel.h:1669: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token
In file included from app_notify.c:23:
/usr/include/asterisk/pbx.h:70: error: storage class specified for parameter ‘ast_state_cb_type’
/usr/include/asterisk/pbx.h:86: error: storage class specified for parameter ‘ast_switch_f’
/usr/include/asterisk/pbx.h:94: error: expected specifier-qualifier-list before ‘ast_switch_f’
/usr/include/asterisk/pbx.h:268: error: expected specifier-qualifier-list before ‘uint64_t’
/usr/include/asterisk/pbx.h:357: error: expected declaration specifiers or ‘...’ before ‘ast_state_cb_type’
/usr/include/asterisk/pbx.h:370: error: expected declaration specifiers or ‘...’ before ‘ast_state_cb_type’
In file included from app_notify.c:24:
/usr/include/asterisk/module.h:274: error: storage class specified for parameter ‘ast_module_info’
In file included from /usr/include/errno.h:36,
from app_notify.c:31:
/usr/include/bits/errno.h:43: error: storage class specified for parameter ‘__errno_location’
In file included from app_notify.c:31:
/usr/include/errno.h:55: error: storage class specified for parameter ‘program_invocation_name’
/usr/include/errno.h:55: error: storage class specified for parameter ‘program_invocation_short_name’
/usr/include/errno.h:69: error: storage class specified for parameter ‘error_t’
In file included from /usr/include/sys/socket.h:28,
from app_notify.c:33:
Il y a 300 lignes d'erreurs, je n'ai donc pas tout mis !

Autres infos, je suis sous Debian 2.6.26-2-686.

Merci d'avance pour votre aide.

Guillaume.